c – 如何使用SIGSEGV的信号处理程序调试程序 目前我使用gdb作为调试工具.解决方法GDB将在应用程序执行之前捕获SIGSEGV.您对Logan的回答所描述的内容毫无意义.我怀疑真正发生的事情是应用程序创建了一个新进程,并且只在其他进程中获取SIGSEGV,而不是将GDB附加到其中的进程.如果我的猜测正确,以下命令可能会有用:您可能还想编辑和扩展您的问题:>你怎么知道有SIGSEGV开头?
c – gdb查找行号的内存地址 假设我已经将gdb附加到进程并且在其内存布局中有一个文件和行号,我想要内存地址.如何获取文件x中第n行的内存地址?这是在Linuxx86上.解决方法另外,使用python,你可以使用’last’属性Symbol-Tables-In-Python目前需要一个来自cvs的最新版本的gdb,但我想在7.5中将具有一般可用性
c – GMP pow中的溢出处理 当使用可笑的大值执行取幂时,主机系统或GMP不再能够适当地处理溢出.我已经与上述系统的开发人员进行了交谈,但他们没有看到一个简单的解决方案.这个问题是否为其他GMP系统/用户所知?作为一个完整性检查首先测试7^7^7的值应该是:375982…32343在32位系统上,例如查询?
c – 具有内联所有虚函数的模板类 >如果GDB抱怨缺少vtable–会确认我可以通过引用使用派生类初始化的ABC来访问每个虚拟成员,足以确认一切正常吗?>如果GDB抱怨丢失RTTI符号–在使用派生类初始化的ABC的引用上调用typeid()足以确认RTTI符号实际上是否存在?
如何使用cross gdb检查来自crosstarget机器的核心文件 我有一个来自嵌入式SH3linux设备的核心文件,以及我主机linux中的交叉编译环境的gdb.但我在使用gdb加载核心文件时遇到问题:为什么它无法读取核心文件?目标机器中有gdbserver,但不是gdb本身.我能用gdbserver和sh3-linux-gdb对目标机器的进程进行运行时调试,所以应该正确编译sh3-linux-gdb.编辑:请求readelf转储:EDIT2:与–core选项相同的问题:解决方法根据http://forums.freescale.com/t5/68K-ColdFire-
c – 在perl中调试由SWIG包装的共享库 我正在使用Linux/gcc.解决方法我做了一件简单的事.我直接在perl解释器上调用了gdb.看来,一旦scipt运行,共享内存也会加载到内存中.一旦发生这种情况,我就可以获得调试的所有信息,功能和断点.
c – 如何获取gdb tui程序集输出以显示指令? 我想看到程序集输出,但发现在TUI中,它会输出函数签名偏移量:这很酷,除了我用C编程并且函数签名完全解析的事实,所以我得到名称空间和模板参数使函数sig2或更多行.这当然会在TUI中被截断,因此它甚至不会显示汇编指令.有没有办法缩短,更改前缀或根本不输出此前缀到汇编指令?
c – 调试符号是什么样的? gcc4.6.0GNUgdbFedora当我尝试使用gdb调试我的问题时,我最近遇到了问题.当我加载我的二进制文件时,gdb抱怨“没有找到调试符号”所以,当我做了以下事情:我得到以下输出(仅样本)问题是我忘了添加-g.所以我决定用-g编译并再次运行nm.我有一个simliar输出,这包含我使用-g的调试符号,而gdb这次没有抱怨:除了二进制文件更大.我可以注意到使用nm的任何不同.我想知道我应该找什么?
找到分段错误的最简单方法 我今天遇到了第一个分段错误.在阅读了什么是分段错误之后,我正在尝试确定最简单的方法来找到我的错误发生的地方.它是用C语言编写的,并且在基于*NIX的系统上出现错误(我不确定哪一个是诚实的……