gpt4 book ai didi

c++ - 使用 -g 选项编译但 "Single stepping until exit from function main, which has no line number information"

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:45:21 25 4
gpt4 key购买 nike

我在使用 gdb 时遇到了一些问题。这是我在一个名为 main.cpp 的文件中的代码

#include <iostream>

void myfunc();

int main(){
char msg[] = "Hello World!";
myfunc();

std::cout << msg << std::endl;

return 0;
}

void myfunc(){
int boo = 16;
}

我使用这个命令来编译这段代码:

g++ -g -Wall main.cpp -o foo

接下来,我使用了 gdb :

$ gdb foo
(gdb) start
Temporary breakpoint 1 at 0x80487c3
Starting program: /home/laptop/workspace/foo

Temporary breakpoint 1, 0x080487c3 in main ()
(gdb) s
Single stepping until exit from function main,
which has no line number information.
Hello World!
__libc_start_main (main=0x80487c0 <main>, argc=1, ubp_av=0xbffff3a4, init=0x80488b0 <__libc_csu_init>, fini=0x8048920 <__libc_csu_fini>, rtld_fini=0xb7fed280 <_dl_fini>, stack_end=0xbffff39c) at libc-start.c:258
258 libc-start.c: No such file or directory.

我做错了什么?我使用了 -g 选项,但仍然出现此错误。

配置:

  • GDB:GNU gdb (Ubuntu/Linaro 7.4-2012.04-0ubuntu2.1) 7.4-2012.04
  • 海湾合作委员会:g++ (Ubuntu 4.8.1-2ubuntu1~12.04) 4.8.1

我用经典的方式安装了这些工具:sudo apt-get install

提前感谢您的任何回答:-)

最佳答案

感谢您的回答。我发现出了什么问题。正如 jcm 所说,我的 gcc 相对较新。我已将 gdb 更新到最新版本,即 GNU gdb (GDB) 7.6。现在这完美地工作了。

顺便说一句,对于 g++ (Ubuntu/Linaro 4.6.4-1ubuntu1~12.04) 4.6.4 版本,gdb (Ubuntu/Linaro 7.4-2012.04-0ubuntu2.1) 7.4-2012.04 完美运行。

谢谢大家。

关于c++ - 使用 -g 选项编译但 "Single stepping until exit from function main, which has no line number information",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20474668/

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