97得票9回答
如何在GDB中回到前一行?

在gdb中,是否可以跳转到当前执行行之前的某一行。 void my_fun( somePtrType** arr,int start,int end) { // arr is an array of pointers to somePtrType //line a ... some a...

7得票1回答
如何将gdb的完整堆栈跟踪输出到文件?

我的服务发生了死锁,我想获取堆栈跟踪。 我正在使用 gdb <binary> core.dump gdb> set logging on gdb> thread apply all bt full ... Here now i have to keep pressi...

110得票5回答
如何使用GDB修改内存内容?

我知道我们可以使用几个命令来访问和读取内存:例如,print、p和x... 但是在GDB调试时,如何更改任何特定位置的内存内容呢?

11得票1回答
gdb捕获系统调用条件和字符串比较

我希望能够捕获系统调用(更具体地说是access)并基于字符串比较设置一个条件(显然是针对作为字符串的参数)。 具体示例:当调试ls时,我希望捕获特定路径名(第一个参数)的access系统调用。 int access(const char *pathname, int mode); ...

11得票4回答
如何在QEMU上使用GDB单步执行ARM汇编代码?

我正在尝试使用GNU汇编器学习ARM汇编语言编程。我已经在我的PC上设置了QEmu,并且有一个Debian ARM-HF chroot环境。 如果我汇编和链接我的测试程序:.text .global _start _start: mov r0, #6 b...

11得票2回答
GDB JIT接口最简单的示例

我阅读了JIT接口章节并遇到了问题:如何编写一个最简单的示例来调试最简单的代码(最好是使用C ++,至少适用于x86-64平台)?比如说,我想要调试以下代码(即code_.data()函数): #include "eallocator.hpp" #include <iostream&...

13得票1回答
使用QtCreator配置GDB

我有一个简单的项目使用OpenCV和cmake,只有segmentation.h和segmentation.cpp两个源文件。 以下是cmakefile:project(Segment) cmake_minimum_required(VERSION 2.8) SET(CMAKE_BUILD...

12得票2回答
GDB不断产生“文件中没有第xx行”的错误,尽管该文件确实有这些行。

这真的很烦人。我遇到了几个文件出现这个问题,但我不知道为什么。这里有一个示例源代码。(请不要在意内容,只需复制并粘贴,在 my_atoi 函数的某处设置断点,gdb 就无法设置断点) my_atoi 可以处理十进制、八进制和十六进制数字,将 C 样式字符串(表示这些基数之一的数字)转换为整数(...

15得票2回答
使用gdb获取C数组大小

我知道你可以在gdb中打印数组,例如:(gdb) p *array@10 有没有一种gdb命令可以告诉你它的长度,例如快捷方式来输入类似以下的内容:(gdb) p sizeof(array)/sizeof(int) 如果数组是在编译时定义的并且您想要对其进行检查

29得票5回答
使用调试器gdb时出现未知的结束信号

我已在 Mac OS X 上安装了 GDB,并为了测试其是否工作,我使用了以下 C 程序。#include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { int *my_ar...