为什么我的 malloc 会导致 lubuntu 上的 netbeans 中出现源未找到错误 (malloc.c)?

问题描述 投票:0回答:2

我在 lubuntu 上使用 netbeans8.0.1,但无法在调试环境中通过我的 malloc 实例。我刚刚进入构建树 malloc 函数,然后出现反汇编窗口,显示“!未找到源,文件:malloc.c,行:2,876”。我在 xcode 上运行了相同的代码,但现在我使用的是 linux 和 netbeans,它将无法运行。顺便说一句,这是使用 C 编程语言,代码用于解析器和自动微分工具。我是 C 语言的新手,但正如我之前所说,我在 xcode 上运行了同样的程序,但是当我将它带到我的笔记本电脑上进行进一步开发时,我遇到了这个问题。

struct node *buildtree(){
struct node* name=(struct node*)malloc(sizeof(struct node));
name->val=0;
name->sym='\0';
return name;

};

c netbeans malloc
2个回答
0
投票

要在调试器中单步执行函数,您必须拥有该函数的代码。看来您无权访问 malloc 的代码,您有二进制的编译版本,但没有源代码。您的程序仍然可以运行,因为要发生这种情况,需要二进制代码而不是源文件。 您应该在调试时安装/下载正确的文件或跳过此功能。一个小提示:无需在 C 中转换 mallloc 的结果


0
投票

使用step into调试内置函数会出现这个问题。

1.使用step over跳过调试内置函数。

2.安装glibc。

对于 debian

sudo apt install glibc-source

cd /usr/src/glibc

sudo tar -xvf glibc-2.36.tar.xz

在 launch.json 中设置 "cwd": "/usr/src/glibc/glibc-2.36"

可以使用step into来调试内置函数

© www.soinside.com 2019 - 2024. All rights reserved.