首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >c++地理数据库断点未命中

c++地理数据库断点未命中
EN

Stack Overflow用户
提问于 2016-01-09 18:47:34
回答 2查看 1.4K关注 0票数 4

我完全换了职位。因为我在韩国军队工作。但韩国军方互联网电脑被禁止上传文件。所以我真的上传了我的源代码。但我不能。所以我试着用gdb调试非常简单的程序。但它仍然不起作用。

我的系统是

代码语言:javascript
复制
Distributor ID: Ubuntu
Description:    Ubuntu 14.04.3 LTS
Release:        14.04
Codename:       trusty

在云IDE中称为"nitrous“

和g++,gdb版本是

代码语言:javascript
复制
g++ (Ubuntu 4.8.4-2ubuntu1~14.04) 4.8.4
GNU gdb (GDB) 7.8

我写了非常简单的代码: simple.cpp

代码语言:javascript
复制
#include <iostream>

int main(){
   std::cout << "Hello World!" << std::endl;
   return 0;
}

用"-g“编译并执行gdb

代码语言:javascript
复制
nitrous@ubuntu-108903:~/code$ g++ -g simple.cpp -o simple
nitrous@ubuntu-108903:~/code$ gdb simple

并设置break main和run

代码语言:javascript
复制
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程序也不是工作断点。仅在启动程序正常退出时打印输出。

EN

回答 2

Stack Overflow用户

发布于 2016-01-10 02:10:07

我设置了一个断点,但没有命中。问题出在哪里?

最可能的问题是您的程序在到达main之前就终止了。(一个典型的动态链接程序在到达main之前将执行数百条指令。)

在GDB下运行您的程序,直到GDB停止并显示SIGSEGV。执行GDB where命令。注意到main不在堆栈上。

一旦确认main不在堆栈中,就问一个不同的问题(假设您仍然不理解崩溃的原因)。

票数 0
EN

Stack Overflow用户

发布于 2016-01-10 10:01:26

我猜是因为某种原因,gdb未能设置断点。尝试使用sudo运行gdb。顺便说一句,你能在生成的精灵和grep上为ptrace运行strace吗?它应该类似于follow strace -f -o syscall.txt gdb ./simple.out

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34692510

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档