gdb 相关问题

将此标记用于与GDB相关的问题,GDB是GNU软件系统的标准调试器。

无法使用 gdb 调试多线程应用程序

我正在使用 gdb 调试多线程应用程序,但是当我在 gdb 中启动程序时,我收到警告: 警告:无法找到与下级线程库匹配的libthread_db,线程调试...

回答 3 投票 0

对于相同的输入,两次连续调用 strcmp 将返回不同的值

我使用 strcmp 来比较多个字符串,通常每个程序运行大约数百或数千次比较。 我注意到,有时,当我跪下时,strcmp 会返回非零......

回答 1 投票 0

如何从核心转储中获取环境变量

在 UNIX 环境(linux/solaris/AIX)中我的应用程序崩溃了。请帮助我从核心转储中获取环境变量

gdb
回答 2 投票 0

使用python gdb获取char*值

使用 GDB 和 Python,我尝试获取 x1 寄存器上的 char* 值 Python a= gdb.execute("x/s $x1", to_string=True) 打印(一) 结尾 但我得到了 0xbb4aaa:“一些字符串” 我想...

回答 1 投票 0

核心文件完全是废话,或者这段代码真的抛出了 SIGFPE?

我的核心文件声称 SIGFPE 是从 gcc-4.3.4/include/c++/4.3.4/bits/stl_iterator_base_funcs.h 第 176 行。这是这里: 模板 我的核心文件声称 SIGFPE 是从 抛出的 gcc-4.3.4/include/c++/4.3.4/bits/stl_iterator_base_funcs.h 第 176 行。这是这里: template<typename _InputIterator, typename _Distance> inline void advance(_InputIterator& __i, _Distance __n) { // concept requirements -- taken care of in __advance 176----> typename iterator_traits<_InputIterator>::difference_type __d = __n; std::__advance(__i, __d, std::__iterator_category(__i)); } 这是在我拥有的另一个函数中,该函数确实通过不执行任何浮点算术的代码调用提前。代码是经过优化编译的(但有调试符号),所以事情可能会很混乱。 我的核心文件只是告诉我完全是胡说八道还是有办法让这有意义? 在回答我自己的问题时,发生的事情是优化器采用了如下所示的代码: int which = RANDOM % somecontainer.size(); std::advance(it, which); 并将它们组合起来。这就是为什么信号似乎是从 std::advance 内部发出的。根据 Oli 的评论,当您取相对于 0 的模数时,即使它不是浮点运算,也会发生 SIGFPE。还有一个不同的错误,它允许 somecontainer 在角落案例中为空。

回答 1 投票 0

Backtrace 在 GDB 中不起作用,但在 LLDB 中起作用

我正在尝试调试nodejs核心转储作为实验。我的主要目标是模拟生产问题并在核心转储中查看 V8 堆栈跟踪。所以我特意写了一篇...

回答 1 投票 0

程序收到信号SIGSEGV,分段错误 - 没有这样的文件或目录[重复]

我正在运行 gdb 来调试出现分段错误的程序。当我构建我的应用程序并运行时 gdb ./应用程序 我得到以下输出: 程序收到信号 SIGSEGV,分段错误。 __strcp...

回答 1 投票 0

在 clang 中调试预处理器宏

我似乎无法从 gdb 获取有关 clang 程序的所有预处理器宏的信息。 考虑这个简单的代码: #包括 #定义MACRO_B 2 int main() { 打印(...

回答 1 投票 0

核心转储仅显示一个堆栈帧

我发生了崩溃,应用程序是用符号编译的。当我运行 gdb 时,我只得到一个堆栈帧。 该应用程序使用共享库,并且一些共享库被剥离。 下面是出来的...

回答 1 投票 0

核心文件有通用格式吗?

我注意到,无论我使用哪种编译器(gcc、llvm、clang、icc 等),如果我得到核心转储,我几乎总是可以将其放入 GDB(或者可能是其他调试器)中,但是我最终选择了 GDB

回答 2 投票 0

AddressSanitizer 随机抛出 SIGSEGV,没有任何解释

项目 我目前正在开发一个 C++ 游戏项目。 我使用 -g3 -std=c++2a -Wall ... -fsanitize=address -fsanitize=leak 编译每个源文件以检查泄漏和段错误 该...

回答 1 投票 0

寻找 macOS Sonoma 14.0 上的 Python 脚本代码签名,以便能够使用 gdb 和 lldb 进行调试

在 macOS Sonoma 14.0 上,我有一个使用 Intel OneAPI 框架启动的 python 脚本。 在使用Intel的python3.9(2022.2.0)执行时,在进行一些运算后会产生分段错误...

回答 1 投票 0

为什么gdb以10为单位递增内存地址

我试图理解为什么 gdb 以 10[hex] 为增量显示内存地址。 我已经使用 -m32 -z execstack -fno-stack-protector 标志编译了我的 c 程序并关闭了 ASLR。 当我调试我的

c gdb
回答 1 投票 0

计算 FLOPS(每秒浮点运算次数)

如何计算应用程序的 FLOPS? 如果我有执行指令的总数,我可以将其除以执行时间。但是,如何统计执行的指令数呢? 我的

回答 3 投票 0

一个 shell 单行代码,用于将 GDB 连接到正在运行的进程,打印回溯并分离

我正在调试在超过 1000 个进程上运行的并行程序中的挂起。我想获取所有这些进程的回溯。理想情况下,我想要一个可以附加到流程的单衬,得到

回答 3 投票 0

STM32 Discovery 板端口 4242 上的 GDB 连接超时

我使用的是 Ubuntu 22.04,我有一个 STM32F4 Discovery 板,上面有一个 stf32f407vg MCU。 我正在尝试了解链接器脚本和启动文件。 我写了一个小链接器(ld文件...

回答 1 投票 0

如何防止gdb -tui中代码窗口变形?调试命令向上滚动并破坏图形

我刚刚开始使用gdb,所以gdb -tui 有助于可视化过程。 然而,当 gdb 命令出现时,它们会推送带有源代码的窗口,因此一切都会被破坏。 我将变量设置为 TERM=xterm-256colo...

回答 3 投票 0

GDB输出arm助记符

当我尝试调试C文件时,GDB用arm助记符来调试它。我可以将其更改为 x86,还是我只能使用arm助记符?我有一台arm64 M1 MacBook。 (gdb) 迪萨斯主要 转储汇编代码以获得乐趣...

回答 1 投票 0

通过gdb调试C显示有关内联函数的信息不同

我通过gdb调试C程序。当单步执行普通函数时,命令“info stack”将显示有关该函数的信息和主函数信息(其中普通

回答 1 投票 0

使用-O3时确定段错误的原因?

当使用 -O3 和 GCC 4.8/4.9/5.1 编译程序时,我无法确定段错误的原因。对于 GCC 4.9.x,我在 Cygwin、Debian 8 (x64) 和 Fedora 21 (x64) 上看到过它。其他人有

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.