Andes Workshop http://forum.andestech.com/ |
|
debug information http://forum.andestech.com/viewtopic.php?f=16&t=545 |
Page 1 of 1 |
Author: | cindy [ Tue Mar 06, 2012 5:38 pm ] |
Post subject: | debug information |
我分享如何看debug information。 下面有幾個檔案 a.c Code: #include "common.h" void foo () { LALA lala; } int main () { return 0; } b.c Code: #define HELLO #include "common.h" void bar () { LALA lala; } common.h Code: typedef struct { int f1; #ifdef HELLO int f2; #endif int f3; } LALA; Makefile Code: all: nds32le-elf-gcc a.c b.c -g -O0 -o case1.out nds32le-elf-gcc b.c a.c -g -O0 -o case2.out 因為這裡的structure用條件式編譯的緣故, 相同的structure LALA,內容不相同。 我們可以從debug information中看到的element。 command為 Code: $ nds32le-elf-readelf.exe -w case1.out >> out.txt 打開out.txt檔。 看到資訊如下圖,可知a.c中,LALA define的structure有2個int變數f1及f3,size為8 bytes Attachment: 我們看b.c的debug information,可以看到LALA define的structure有3個變數,f1 f2 f3。 size為12 bytes Attachment: gdb用當時所指向的pc值去抓debug information, 所以不會抓錯變數。 最後,附上我測試用的檔案。 Attachment:
|
Page 1 of 1 | All times are UTC + 8 hours [ DST ] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |