我在CentOS 6上用GDB调试复杂的应用程序,它使用的是自定义的GCC版本(不是过时的系统版本)。此应用程序由3个项目组成:2个静态库(一个大小为50M,另一个在调试版本中为10M)和使用这两个库中的代码的可执行文件,以及许多系统共享库。问题是GDB非常慢。我知道这个项目很大,但Visual Studio 2013调试速度非常快,所以GDB可能没有正确地设置为与那个大项目一起工作。如何让GDB在调试大型项目时变得更快,包括调试静态库代码?
我正在尝试用执行gdb调试器的android调试本地c/c++,但是断点没有命中。gdb向我显示以下消息:
No symbol table is loaded. Use the "file" command.
一旦我执行了"file“命令:
(gdb) file
A program is being debugged already.
Are you sure you want to change the file? (y or n) [answered Y; input not from terminal]
No executable file now.
No sy
我想调试我的C++。目前,库正在抛出一个异常,并确定在哪里,我想使用gdb。问题是gdb没有捕获异常堆栈。我所做的如下:
$ gdb python3
(gdb) run script.py
UserWarning: An exception occurred: sort_index(): detected NaN
当我尝试使用backtrace时
(gdb) backtrace
No stack.
我知道这样的回溯是可能的,因为我以前已经做过了,可能我遗漏了什么。正在使用调试模式编译库。
也许,我误解了一些东西,但我不能让Gdb读取调试库。我从命令行做的是:
gdb
file problem_exec
b main
r
GDB停在以下地点:
(gdb) r
Starting program: /Users/.../problem_exec
Breakpoint 1, main (argc=<error reading variable: Could not find the frame base for "main(int, char**)".>, argv=<error reading variable: Could not find th
我尝试将我的Android应用程序(我通过NDK使用libdash库)作为本机应用程序进行调试,但遇到以下错误:
Error while mapping shared library sections:
`/usr/lib/jvm/java-6-openjdk-amd64/jre/lib/amd64/libjpeg.so': not in executable format: File format not recognized
warning: Could not load shared library symbols for 92 libraries, e.g. /system/b
我在ubuntu12.04中使用android-ndk-r9d-linux-x86的ndk来调试android本机应用程序"hello-jni",但是它收到了这个错误。
WARNING: The shell running this script isn't bash. Although we try to avoid bashism in scripts, things can happen.
.../adt-bundle-linux-x86-20140321/android-ndk-r9d/ndk-gdb: 143: .../a
我试过在Android上调试本机c,
但是,得到以下错误:
There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "--host=x86_64-apple-darwin --target=arm-linux-android". For bug reporting instructions, please see: <http:/