2014-11-01 10 views
1

我在lubuntu上使用netbeans8.0.1,並且在調試環境中無法通過我的malloc實例。我剛到我的構建樹malloc函數,並出現分解窗口說:「找不到源,文件:malloc.c,行:2,876」。我有這個相同的代碼在Xcode上工作,但現在我正在使用Linux和NetBeans它不會運行。順便說一句,這是與C編程語言和代碼是一個解析器和自動化的分化工具。我對c語言很陌生,但正如我之前所說的,我有這個程序在xcode上工作,但是當我將它帶到我的筆記本電腦進行進一步開發時,我遇到了這個問題。爲什麼我的malloc導致在lubuntu上的netbeans中找不到源錯誤(malloc.c)?

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

};

+2

您正試圖進入函數'malloc()',該函數需要訪問該函數的源代碼。既然你沒有(也許你可以安裝它),那是行不通的。你仍然應該能夠使用和調試這些代碼,只不過你必須把'malloc()'當作一個黑盒子。 – 2014-11-01 14:25:06

+1

不需要在C中調用malloc的結果 – 4pie0 2014-11-01 14:25:12

+1

關注調試*你的*代碼,malloc()沒有錯誤。練習使用調試器的Step Into和Step Over命令。如果您不小心誤入了一個您不打算調試的函數,請使用Step Out。 – 2014-11-01 14:39:22

回答

0

要進入調試器的功能,您必須擁有該函數的代碼。看起來你沒有訪問malloc的代碼,你有一個二進制編譯版本,但沒有源代碼。您的程序仍然可以運行,因爲發生這種情況時,二進制代碼是必需的,而不是源文件。 在調試時,您應該安裝/下載正確的文件或這一功能步驟。小提示:no need to cast the result of mallloc in C

+0

我不知道這是否相關,但是當我跨越構建樹函數中的malloc時,我最終得到了正確的分析樹,但是在形成分析樹的函數返回後我的後序打印函數得到分段錯誤,因爲解析早先建造的樹迷路了。在xcode上我沒有這個問題,我不明白爲什麼malloc函數在調試器中不起作用。我需要下載哪些文件才能獲得源文件,以及如何將其配置爲netbeans? – 2014-11-01 15:03:16

+0

你必須根據你使用的編譯器得到正確的版本 – 4pie0 2014-11-01 15:20:29

相關問題