summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2010-02-26 17:05:28 +0100
committerDenys Vlasenko <vda.linux@googlemail.com>2010-02-26 17:05:28 +0100
commit5d5bccdbc8e6375cd02444a278136a55ec254c25 (patch)
tree27b17f6180911df66c3db04d666da26f1c0b77fa /lib
parent9279f0740a07192eac61f9e51a5e6d078bc4e7b5 (diff)
downloadabrt-5d5bccdbc8e6375cd02444a278136a55ec254c25.tar.gz
abrt-5d5bccdbc8e6375cd02444a278136a55ec254c25.tar.xz
abrt-5d5bccdbc8e6375cd02444a278136a55ec254c25.zip
ccpp analyser: add registers and disasm to gdb commands (bz#568686)
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'lib')
-rw-r--r--lib/Plugins/CCpp.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/lib/Plugins/CCpp.cpp b/lib/Plugins/CCpp.cpp
index f72ebbae..d2bbf3c5 100644
--- a/lib/Plugins/CCpp.cpp
+++ b/lib/Plugins/CCpp.cpp
@@ -288,7 +288,7 @@ static void GetBacktrace(const char *pDebugDumpDir,
unsetenv("TERM");
putenv((char*)"TERM=dumb");
- char *args[17];
+ char *args[21];
args[0] = (char*)"gdb";
args[1] = (char*)"-batch";
@@ -341,12 +341,16 @@ static void GetBacktrace(const char *pDebugDumpDir,
/*args[9] = ... see below */
args[10] = (char*)"-ex";
args[11] = (char*)"info sharedlib";
- /* glibc's abort() stores its message in this variable */
+ /* glibc's abort() stores its message in __abort_msg variable */
args[12] = (char*)"-ex";
args[13] = (char*)"print (char*)__abort_msg";
args[14] = (char*)"-ex";
args[15] = (char*)"print (char*)__glib_assert_msg";
- args[16] = NULL;
+ args[16] = (char*)"-ex";
+ args[17] = (char*)"info registers";
+ args[18] = (char*)"-ex";
+ args[19] = (char*)"disassemble";
+ args[20] = NULL;
/* Get the backtrace, but try to cap its size */
/* Limit bt depth. With no limit, gdb sometimes OOMs the machine */