gdb相关内容
HPUX 上可用的 GDB 版本有一个名为“packcore"的命令,它创建一个包含核心转储、可执行文件和所有库的 tarball.我发现这在尝试在另一台机器上调试核心转储时非常有用. 在我可能在 Linux 机器上找到的标准版 GDB 中是否有类似的命令? 我正在寻找一个简单的命令,当生产机器上出现问题时,不一定是开发人员的人可以运行该命令. 解决方案 这是一个执行必要步骤的
..
如果我有一个 MPI 程序,我想用 gdb 进行调试,同时能够看到所有单独进程的输出,我可以使用: mpirun -n xterm -hold -e gdb -ex run --args ./program [arg1] [arg2] [...] 当我有一个 GUI 可以玩时,这很好.但情况并非总是如此. 是否有类似的设置可以用于 screen 这样每个进程都有自己的窗口?这对于
..
..
我正在尝试在 Visual Studio Code 中调试 C++,但这里出了点问题.调试状态不断滚动,但没有控制台显示.如果我停止调试(shift+ F5),我将无法再次调试.无论是单击绿色三角形还是 F5,都没有任何反应.调试截图 建筑没问题.这只是调试问题. MinGW 已添加到 PATH.我可以在 CMD 中使用 g++ 或 gdb. 我的环境: 操作系统:Window
..
我正在编写一个 python 脚本来自动从 gdb 调试核心转储.我正在尝试打印包含内核数据结构和列表的数据结构(例如 struct list_head).例如结构是这样的: struct my_struct {结构 my_hardware_context 啊;结构 net_device *netdev;结构 pci_dev *pdev;结构 list_head mac_list;…………};
..
..
我必须调试一个严重依赖 Gtk 的程序.问题在于,由于某种原因,在使用 GtkWindow 对象时开始出现许多运行时警告.问题是,即使 Gtk 抱怨严重错误,它也不会因这些错误而中止.我没有代码库的更改历史记录,所以我唯一的选择似乎是遍历所有似乎可疑的 gtk 调用,看看问题出在哪里.但是,如果我能以某种方式导致 Gtk 在此错误上中止,我可以使用 gdb 运行它并尝试获取回溯并定位错误的确切位置
..
在 Xcode 4 中使用 gdb(通过调试控制台)调试 iPad 程序时,我试图打印出运行类方法的结果: (gdb) po [MyClass foo:@"bar"] gdb 输出以下内容: 当前上下文中没有符号“MyClass". 有没有办法在 Xcode 4 中使用 gdb 打印 +(NSString *)foo:(NSString *)string 的结果? 解决方案
..
对于使用 GCC 4.7 MacPorts build 编译的程序,我似乎无法获得可读的调试输出. 我已经尝试过 GDB 6.3 和 GDB 7.3,它们都有自己的问题. 尝试使用 GDB 7.3 (MacPorts) 使用 GDB 7.3 我在启动时得到以下输出: $ ggdb ./testGNU gdb (GDB) 7.3版权所有 (C) 2011 Free Softwar
..
我正在开发一个作为守护进程运行的高流量网络 C 服务器应用程序.在某些情况下,应用程序崩溃(总是没有核心).如何使用 gdb 调试正在运行的守护程序以找到生成 SIGSEGV 的位置? 解释性说明: 我知道如何使用附加命令将 gdb 附加到正在运行的进程 附加到进程后,它会停止.如果我运行然后“继续",如果程序没有崩溃,gdb 将保持阻塞状态.如果我按 CTRL-C,进程将退出,
..
..
这是一个看似微不足道的问题,但我找不到一个简单的方法来完成这个. 我的 .gdbinit 文件与 gdb.exe 所在的目录定义在同一目录中——即在我的编译器的 bin 目录中.但是,当我运行 gdb 时,我得到了这个: GNU gdb (GDB) 7.5.50.20120804-cvs版权所有 (C) 2012 Free Software Foundation, Inc.许可证 GPLv
..
反汇编中有这样的代码: movl $0x6,-0x4(%rbp) 我尝试以这种方式打印值但失败: (gdb) p 0x4(%esp)表达式中的语法错误,在 `%esp)' 附近.(gdb) p 0x4+$esp算术运算的参数不是数字或布尔值. 如何正确打印? 解决方案 看起来你正在使用 64 位代码,在这种情况下你只需要,例如: (gdb) p $rbp-0x4$1 = (voi
..
我已经为 y 配置了所有与 CONFIG_DEBUG_ 相关的选项,但是当我尝试调试内核时,它说没有找到调试符号: gdb/usr/src/linux-2.6.32.9/vmlinux/proc/kcore从/usr/src/linux-2.6.32.9/vmlinux 读取符号...(未找到调试符号)...完成. 为什么? 解决方案 这是我目前最好的猜测:我不知道,没关系. 我
..
我是在玩 GDB 的 rbreak . 时第一次注意到它,然后做了一个最小的例子: (gdb) 文件 hello_world.out从 hello_world.out 读取符号...完成.(gdb) b _init0x4003e0 处的断点 1(gdb) b _start0x400440 处的断点 2(gdb) 运行启动程序:/home/ciro/bak/git/cpp/cheat/gdb/he
..
编译器会生成一些类方法,如复制构造函数、析构函数等.是否可以在这些方法上设置 gdb 中断,例如,观察对象被复制或销毁的位置? 解决方案 gdb 可以中断隐式类方法吗? 是的,当然可以. (gdb) break MyClass::MyClass(const MyClass &)//复制时中断(gdb) break MyClass::~MyClass()//对象销毁时中断 就这
..
..
我有一个使用 OpenCV 和 cmake 的简单项目,并且有两个源文件只有 segmentation.h 和 segmentation.cpp. 这是 cmake 文件: 项目(段)cmake_minimum_required(版本 2.8)SET(CMAKE_BUILD_TYPE 调试)设置(CMAKE_VERBOSE_MAKEFILE 真)如果(CMAKE_COMPILER_IS_G
..
在 emacs 中,有一种方便的方法可以为 gdb(C 调试器)启动 gdb 和 gui 选项. gvim 中是否有类似的选项? 解决方案 有一个名为 cgdb 的项目旨在提供这种确切的行为.虽然它不像 emacs 那样从 vim 启动,但它提供了类似 vim 的键绑定和行为.它的功能包括一个单独的语法高亮源窗口,该窗口与当前执行的指令保持同步.
..
有谁知道 -c 标志在 gcc 中的作用吗? 比如有什么区别 gcc -c output0.cvs gcc output0.c 我知道第二个制作了 .a 文件,但我不知道 .a 文件是什么. 还有,-o在 中做了什么 gcc output0.o -o output0 只是给输出文件命名对吗? 解决方案 -c 编译或汇编源文件,但不要链接.链接阶段根本就没有完
..