summaryrefslogtreecommitdiff
path: root/util/debug_util.cpp
diff options
context:
space:
mode:
authorAntonin Kral <a.kral@bobek.cz>2012-08-29 20:54:51 +0200
committerAntonin Kral <a.kral@bobek.cz>2012-08-29 20:54:51 +0200
commit83957b73f9177f6e38bd5375bd93ca1f6a47188c (patch)
treef20b7d6ac9a9c64ff5bb6b5910a24abbb356b1d5 /util/debug_util.cpp
parent5071d203970edd4c995493d810abe20987e76fe9 (diff)
Imported Upstream version 2.2.0upstream/2.2.0
Diffstat (limited to 'util/debug_util.cpp')
-rw-r--r--util/debug_util.cpp60
1 files changed, 0 insertions, 60 deletions
diff --git a/util/debug_util.cpp b/util/debug_util.cpp
deleted file mode 100644
index 8ba6534ef7c..00000000000
--- a/util/debug_util.cpp
+++ /dev/null
@@ -1,60 +0,0 @@
-// debug_util.cpp
-
-/* Copyright 2009 10gen Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "pch.h"
-#include "../db/cmdline.h"
-#include "../db/jsobj.h"
-
-namespace mongo {
-
-#if defined(USE_GDBSERVER)
- /* Magic gdb trampoline
- * Do not call directly! call setupSIGTRAPforGDB()
- * Assumptions:
- * 1) gdbserver is on your path
- * 2) You have run "handle SIGSTOP noprint" in gdb
- * 3) cmdLine.port + 2000 is free
- */
- void launchGDB(int) {
- // Don't come back here
- signal(SIGTRAP, SIG_IGN);
-
- int newPort = cmdLine.port + 2000;
- string newPortStr = "localhost:" + BSONObjBuilder::numStr(newPort);
- string pidToDebug = BSONObjBuilder::numStr(getpid());
-
- cout << "\n\n\t**** Launching gdbserver on " << newPortStr << " ****" << endl << endl;
- if (fork() == 0) {
- //child
- execlp("gdbserver", "gdbserver", "--attach", newPortStr.c_str(), pidToDebug.c_str(), NULL);
- perror(NULL);
- }
- else {
- //parent
- raise(SIGSTOP); // pause all threads until gdb connects and continues
- raise(SIGTRAP); // break inside gdbserver
- }
- }
-
- void setupSIGTRAPforGDB() {
- assert( signal(SIGTRAP , launchGDB ) != SIG_ERR );
- }
-#else
- void setupSIGTRAPforGDB() {
- }
-#endif
-}