c gdb断点未命中
发布时间:2020-12-16 06:50:54 所属栏目:百科 来源:网络整理
导读:我完全改变了帖子. 因为我在韩国军队工作. 但韩国军队互联网计算机禁止上传文件. 所以我真的上传了我的源代码.但我不能. 所以我尝试使用gdb调试非常简单的程序. 但它仍然无法正常工作. 我的系统是 Distributor ID: UbuntuDescription: Ubuntu 14.04.3 LTSRel
我完全改变了帖子.
因为我在韩国军队工作. 但韩国军队互联网计算机禁止上传文件. 所以我真的上传了我的源代码.但我不能. 所以我尝试使用gdb调试非常简单的程序. 但它仍然无法正常工作. 我的系统是 Distributor ID: Ubuntu Description: Ubuntu 14.04.3 LTS Release: 14.04 Codename: trusty 在云IDE中称为“亚硝酸” 和g,gdb版本是 g++ (Ubuntu 4.8.4-2ubuntu1~14.04) 4.8.4 GNU gdb (GDB) 7.8 我编写非常简单的代码:simple.cpp #include <iostream> int main(){ std::cout << "Hello World!" << std::endl; return 0; } 用“-g”和gdb执行编译 nitrous@ubuntu-108903:~/code$g++ -g simple.cpp -o simple nitrous@ubuntu-108903:~/code$gdb simple 并设置break main并运行 Reading symbols from simple...done. (gdb) break main Breakpoint 1 at 0x400861: file simple.cpp,line 4. (gdb) run Starting program: /home/nitrous/code/simple Hello World! During startup program exited normally. 即使是非常简单的helloworld程序也不是断点. 解决方法
最可能的问题是您的程序在到达main之前终止. (典型的动态链接程序在到达main之前将执行数百个指令.) 在GDB下运行程序,直到GDB停止使用SIGSEGV.执行GDB where命令.观察主要不在堆栈上. 一旦确认main不在堆栈中,请提出另一个问题(假设您仍然不理解崩溃的原因). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |