我有这个基本程序:
int initfunc(int *array, int len) {
int i;
for(i=1; i <= len; i++) {
array[i] = i;
}
return 0;
}
int main(int argc, char* argv[]){
int* myarray=0;
initfunc(myarray,10);
}
首先我试图弄清楚 GDB 中的命令是什么来查找 main 存储在什么内存地址中。
而且我的错误出现在第 4 行 (array[i] = i),我试图弄清楚我需要做什么才能让它运行。我的教授编写了这个程序,所以我知道使用这些指针可能不是编写这个基本程序的好方法。我只需要一些见识,因为我不太擅长指点。
最佳答案
我明白了,谢谢你的洞察力。我只是在 GDB 中使用断点来计算函数的内存分配。我没有提到我在我的 makefile 中使用了 -g,所以那部分已经完成了。此外,数组的内存分配不存在,这解决了问题!干杯
关于c++ - 使用GDB查找某个函数对应的内存地址/调试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36481279/