gdb相关内容
在OS X Mavericks上使用Go(go1.3 darwin / amd6)和GoClipse 0.8 ... 在调试器(设置断点后)遇到问题,所以我打扫了Stack Overflow和Internet的其余部分,发现我需要安装gdb。 遵循以下说明(到T)(通过安装gdb HomeBrew): http://ntraft.com/installing-gdb-on-os-
..
我尝试远程调试x86_64 suse linux上的32位应用程序,但是得到这个“远程注册格式错误”错误。 我启动gdbserver as监听端口12345(gdbserver localhost:12345 my_prog) 这是错误: code $ gdb GNU gdb 6.6 版权所有(C)2006免费软件基金会, GDB是由GNU通用公共许可证涵盖的免费软件,您
..
我有一些gdb的麻烦。 这是一个名为main.cpp的单个文件中的代码 #include void myfunc(); int main(){ char msg [] =“Hello World!”; myfunc(); std :: cout
..
malloc.c:3074:sYSMALLOc:我的服务器守护程序在大多数机器上工作正常, Assertion`(old_top ==((mbinptr)(((char *)&((av))> bins [((1) - 1)* 2]))__builtin_offsetof(struct malloc_chunk, fd))))&& old_size == 0)|| ((unsigned l
..
如果没有符号信息,那么如何设置使用GDB for x86汇编代码的断点,即不可能写入 b * _start 。 我想立即停止执行,但写 b * 0 并不是很有用,因为这样会停止执行在地址 0 ,但是我需要在地址 x 相对于起始点(当没有符号信息存在) 解决方案 使用类似 objdump -f 显示入口点地址的数值。 将该值复制/粘贴到gdb命令中: b * 0x ... 在入口
..
我想使用gdb调试程序。但是我通过脚本调用该程序。 如何使用gdb? 脚本很长,我无法使用gdb中的命令行参数直接调用该程序。 此外,脚本创建的过程启动是短暂的,所以不能将gdb附加到进程。 我想要做的是像使用该程序启动gdb,然后添加我的断点,然后 执行脚本(FYI - 它也需要参数),然后当它点击断点做任何我想要的。 我看了gdb中的shell选项,但是这个一个新的
..
编译器生成一些类方法,如复制构造函数,析构函数等。可以在这些方法上使用gdb break,例如,观察复制或销毁对象的位置。 解决方案 可以gdb在隐式类方法中打破吗? 是的,当然可以。 (gdb)break MyClass :: MyClass(const MyClass&)/ / break当复制时 (gdb)break MyClass ::〜MyClass()//当对象
..
项目新增,有多个源文件用于编译,一些“可能”是动态库,在运行时加载。当使用“GDB”调试可执行文件时,是否有命令列出用于构建可执行文件的所有源文件(静态)。一旦我拥有所有的源文件,我很容易设置断点,列表功能等。我找不到一个命令来做它在GDB(我确定应该有一个)。在DDD(基于gui的gdb)中,有一个Menu:File-> List,它列出了使用的所有源文件和用于构建可执行文件的静态库。不幸的是,
..
我正在使用ARM上的gdbserver调试软件,以获得崩溃的回溯。不幸的是,我只收到问号。无处不在,我读到这个问题只是与缺少符号有关,但符号不会从我的图书馆中删除。 如果我尝试使用file命令加载客户端中的符号我得到: 从 /libQtWebKit.so.4.7.2 ...中读取符号(没有找到调试符号)...完成 然后,当发生崩溃时: 程序接收信号
..
我试图在每个功能上设置断点,使任何意义上的程序退出,然后再到达任何一个。有没有办法使程序从一开始就以分步模式运行,所以我可以看到发生了什么? 我试图调试/ usr / bin / id如果重要(我们有自定义插件,它的行为不正确) PS开始命令对我来说不起作用(它应该是一个注释,但是我没有足够的代码) 解决方案 p>获取程序入口点地址,并在该地址插入一个断点。 这样做的一个方
..
我正在写一个程序,广泛使用向量,并且正在Mac OS X 10.6.6上首次使用Qt Creator 2.0.1开发。 当我正在调试时,我可以在 Locals and Watchers 窗口中看到文字和数组,但是一旦我去展开一个向量,在这种情况下,类型学生,我得到这个树: 我正在使用的另一个人是在Ubuntu上使用相同版本的Qt Creator,可以看到载体的内容很好。我做错了什么?
..
我在gdb(版本7.1)中收到以下消息: [使用libthread_db启用的线程调试] 和命令 reverse-step 结果以下错误消息: (gdb)reverse-step 目标多线程不支持此命令 我现在正在调试一个串行代码,所以我绝对不需要多线程。我可以以某种方式关闭它,以便我得到最新的反向调试命令工作吗?另外,如果代码与OpenMPI并行,根本就
..
我正在使用GDB调试Solaris 10 x86上的封闭源代码程序。 我将gdb附加到程序并继续执行,但是当我想暂停执行时后来检查一些记忆我不能。当我按CTRL-C时,它只打印^ C而不是暂停程序,并将我放到(gdb)提示符。 bash-3.00#gdb --pid = 1521 GNU gdb 6.6 版权所有(C)2006免费软件基金会 GDB是免费软件,由GNU通用公共
..
我有一个远程调试问题。主机:笔记本电脑intel i5与ubuntu 10.10 x86 目标:飞思卡尔iMX35(iMX35 PDK)arm 11 开发环境:Qt Creator 2.1RC和Qt4.7.1库。 路径中的Arm编译器:/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin
..
我有一个共享库的项目(动态加载),我正在尝试调试它。我收到以下错误消息: 没有名为/ home / username / Code / path / to / project / MyFile的源文件。 cpp。 在搜索其他线程后,我已经确保我正在使用-g进行编译,相应的文件夹位于调试配置的源路径选项卡上。奇怪的是,它给出了正确的绝对路径:它引用的文件确实存在,所以我不明白
..
如何使用GDB调试32位x86处理器上没有调试符号的程序?检查函数参数,局部变量,解析指针将有助于知道如何做。 意图不是真的用于逆向工程,因为我有时只是太懒了安装调试符号,很高兴知道如何从gdb中获取一些基本信息。 解决方案 开始,你可以做; gdb“any” break __libc_start_main r 将设置断点在libc的crt0代码中,允许您在
..
最近我一直在尝试使用Rcpp(内联)来生成在提供的R输入上执行各种任务的DLL。 我希望能够逐行调试这些DLL中的代码,给定一组特定的R输入。(我正在Windows下工作。) 为了说明,让我们考虑一个具体的例子,任何人都应该可以运行... 下面的代码是一个非常简单的cxxfunction,输入向量加倍。但是请注意,还有一个额外的变量 myvar 可以更改值几次,但不影响输出 - 已添加
..
在某些地方,我没有编写的代码(但我正在尝试调试),在glib库中断言失败: code>(process:31987):GLib-CRITICAL **:g_hash_table_lookup:assertion`hash_table!= NULL'failed 然而,GDB和代码一直在继续。我想GDB打破这个断言失败的原因,以便我能找出为什么它失败。我没有给出关于这个断言在哪里
..
程序是在Eclipse中调试一个C ++程序(最新的Helios的RC,从本身更新为最新的CDT)非常简单(从NeHe的OpenGL教程中可以看出第2课),由一个cpp文件组成,使用OpenGL和Cocoa框架,并与libSDL.a和libSDLmain.a链接。 项目的结构非常简单:源文件位于名为src /的项目的子目录中,可执行文件构建到项目的根目录。 问题是,每当我尝试添加断点并
..
有没有人知道如何保存gdb设置(例如“set print pretty on”或“set print elements 0”,都来自这里)?我不想每次设置我的配置,我将使用gdb:/ 我在谷歌和SO中搜索,但我没有发现。 解决方案 在您的主目录中的 .gdbinit 文件中添加要自动运行的任何命令。
..