gpt4 book ai didi

gdb - gdb 中的下一个命令无法正常工作

转载 作者:行者123 更新时间:2023-12-05 02:24:02 31 4
gpt4 key购买 nike

我只是使用 gdb 逐行逐行执行代码,以了解它是如何工作的以及它在做什么。我第一次这样做时效果很好,但现在下一个命令无法正常工作。有时它前进,有时它倒退。这没有意义。每次我这样做似乎都是相同的模式。下面是一个例子。谁知道哪里出了问题?

注意:这是一个旧的 Mac,有旧的程序版本(我没有能力更新)

请明确。总的来说,我对 Linux 和编程还很陌生。

谢谢!

Reading symbols for shared libraries ... done
(gdb) b main
Breakpoint 1 at 0x2730: file ../../../../gcc-3.4.6/libf2c/libF77/pow_zi.c, line 14.
(gdb) r
Starting program: /Users/kevin/project/ConstU/main
nReading symbols for shared libraries +. done
Error in re-setting breakpoint 1:
Function "main" not defined.
Re-enabling shared library breakpoints: 1

Breakpoint 1, 0x00002730 in main () at main.c:34
34 {
(gdb) n
main () at main.c:42
42 for (i=0;i<DpDIM;i++) {
(gdb) n
34 {
(gdb) n
35 runstart=clock();
(gdb) n
39 Init=ReadInit(&CaseDim);/*reads in initial valies from initfile*/
(gdb) n
35 runstart=clock();
(gdb) n
39 Init=ReadInit(&CaseDim);/*reads in initial valies from initfile*/
(gdb)

最佳答案

Anyone know what is wrong?

在调试优化构建的程序时,您所描述的症状非常常见:编译器重新安排代码,使来自不同行的指令混合在一起。

确保编译时没有任何 -O 标志,或在编译行末尾添加 -O0

here is part of the make file: CC = gcc CFLAGS = -g -O2

那样就可以了:删除 -O2 并且您的调试会变得容易得多。

关于gdb - gdb 中的下一个命令无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16159394/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com