gdb相关内容

如何轻松打包分析核心转储所需的库(即packcore)

HPUX 上可用的 GDB 版本有一个名为“packcore"的命令,它创建一个包含核心转储、可执行文件和所有库的 tarball.我发现这在尝试在另一台机器上调试核心转储时非常有用. 在我可能在 Linux 机器上找到的标准版 GDB 中是否有类似的命令? 我正在寻找一个简单的命令,当生产机器上出现问题时,不一定是开发人员的人可以运行该命令. 解决方案 这是一个执行必要步骤的 ..
发布时间:2022-01-20 20:48:46 服务器开发

使用gdb调试多屏窗口中的MPI

如果我有一个 MPI 程序,我想用 gdb 进行调试,同时能够看到所有单独进程的输出,我可以使用: mpirun -n xterm -hold -e gdb -ex run --args ./program [arg1] [arg2] [...] 当我有一个 GUI 可以玩时,这很好.但情况并非总是如此. 是否有类似的设置可以用于 screen 这样每个进程都有自己的窗口?这对于 ..
发布时间:2022-01-20 20:48:37 其他开发

无法使用 gdb 在 VS 代码中调试 C++

我正在尝试在 Visual Studio Code 中调试 C++,但这里出了点问题.调试状态不断滚动,但没有控制台显示.如果我停止调试(shift+ F5),我将无法再次调试.无论是单击绿色三角形还是 F5,都没有任何反应.调试截图 建筑没问题.这只是调试问题. MinGW 已添加到 PATH.我可以在 CMD 中使用 g++ 或 gdb. 我的环境: 操作系统:Window ..
发布时间:2022-01-20 20:48:19 C/C++开发

导致 Gtk 在断言时中止

我必须调试一个严重依赖 Gtk 的程序.问题在于,由于某种原因,在使用 GtkWindow 对象时开始出现许多运行时警告.问题是,即使 Gtk 抱怨严重错误,它也不会因这些错误而中止.我没有代码库的更改历史记录,所以我唯一的选择似乎是遍历所有似乎可疑的 gtk 调用,看看问题出在哪里.但是,如果我能以某种方式导致 Gtk 在此错误上中止,我可以使用 gdb 运行它并尝试获取回溯并定位错误的确切位置 ..
发布时间:2022-01-20 20:47:45 其他开发

在 OS X 上调试 MacPorts GCC 的问题

对于使用 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 ..
发布时间:2022-01-20 20:47:13 C/C++开发

使用 gdb 调试正在运行的守护进程

我正在开发一个作为守护进程运行的高流量网络 C 服务器应用程序.在某些情况下,应用程序崩溃(总是没有核心).如何使用 gdb 调试正在运行的守护程序以找到生成 SIGSEGV 的位置? 解释性说明: 我知道如何使用附加命令将 gdb 附加到正在运行的进程 附加到进程后,它会停止.如果我运行然后“继续",如果程序没有崩溃,gdb 将保持阻塞状态.如果我按 CTRL-C,进程将退出, ..
发布时间:2022-01-20 20:47:03 服务器开发

如何在 gdb 启动时加载 .gdbinit?

这是一个看似微不足道的问题,但我找不到一个简单的方法来完成这个. 我的 .gdbinit 文件与 gdb.exe 所在的目录定义在同一目录中——即在我的编译器的 bin 目录中.但是,当我运行 gdb 时,我得到了这个: GNU gdb (GDB) 7.5.50.20120804-cvs版权所有 (C) 2012 Free Software Foundation, Inc.许可证 GPLv ..
发布时间:2022-01-20 20:46:50 其他开发

如何在 gdb 中打印 -0x4(%rbp)?

反汇编中有这样的代码: movl $0x6,-0x4(%rbp) 我尝试以这种方式打印值但失败: (gdb) p 0x4(%esp)表达式中的语法错误,在 `%esp)' 附近.(gdb) p 0x4+$esp算术运算的参数不是数字或布尔值. 如何正确打印? 解决方案 看起来你正在使用 64 位代码,在这种情况下你只需要,例如: (gdb) p $rbp-0x4$1 = (voi ..
发布时间:2022-01-20 20:46:42 其他开发

使用带有/proc/kcore 的 gdb 时,为什么我的 vmlinux 中没有调试符号?

我已经为 y 配置了所有与 CONFIG_DEBUG_ 相关的选项,但是当我尝试调试内核时,它说没有找到调试符号: gdb/usr/src/linux-2.6.32.9/vmlinux/proc/kcore从/usr/src/linux-2.6.32.9/vmlinux 读取符号...(未找到调试符号)...完成. 为什么? 解决方案 这是我目前最好的猜测:我不知道,没关系. 我 ..
发布时间:2022-01-20 20:46:35 其他开发

gdb 可以中断隐式类方法吗?

编译器会生成一些类方法,如复制构造函数、析构函数等.是否可以在这些方法上设置 gdb 中断,例如,观察对象被复制或销毁的位置? 解决方案 gdb 可以中断隐式类方法吗? 是的,当然可以. (gdb) break MyClass::MyClass(const MyClass &)//复制时中断(gdb) break MyClass::~MyClass()//对象销毁时中断 就这 ..
发布时间:2022-01-20 20:46:19 C/C++开发

使用 QtCreator 设置 GDB

我有一个使用 OpenCV 和 cmake 的简单项目,并且有两个源文件只有 segmentation.h 和 segmentation.cpp. 这是 cmake 文件: 项目(段)cmake_minimum_required(版本 2.8)SET(CMAKE_BUILD_TYPE 调试)设置(CMAKE_VERBOSE_MAKEFILE 真)如果(CMAKE_COMPILER_IS_G ..
发布时间:2022-01-20 20:46:05 C/C++开发

用于 C 的 gvim 和 gdb?

在 emacs 中,有一种方便的方法可以为 gdb(C 调试器)启动 gdb 和 gui 选项. gvim 中是否有类似的选项? 解决方案 有一个名为 cgdb 的项目旨在提供这种确切的行为.虽然它不像 emacs 那样从 vim 启动,但它提供了类似 vim 的键绑定和行为.它的功能包括一个单独的语法高亮源窗口,该窗口与当前执行的指令保持同步. ..
发布时间:2022-01-20 20:45:55 其他开发

-c 选项在 GCC 中的作用

有谁知道 -c 标志在 gcc 中的作用吗? 比如有什么区别 gcc -c output0.cvs gcc output0.c 我知道第二个制作了 .a 文件,但我不知道 .a 文件是什么. 还有,-o在 中做了什么 gcc output0.o -o output0 只是给输出文件命名对吗? 解决方案 -c 编译或汇编源文件,但不要链接.链接阶段根本就没有完 ..
发布时间:2022-01-20 20:45:49 其他开发