問題:庫是在linux上編譯出來的,而工程在windows下除錯,gdb找不到**怎麼辦?
使用dir命令,可以解決此問題。
dir命令用來指定源檔案目錄。
比如file.c,cache.c和inode.c是三個原始檔,已經編譯為庫lib
(gdb) dir /home/***/linux-2.6.30/fs/fat/file.c
這樣在除錯時就能鏈結到原始檔
注意:(1)目錄分割符要用 / 或 \,不能用
(2)gdb只會在你指定的目錄下找源**,不會搜尋子目錄,
以上只是新增乙個原始檔,如果原始檔較多,可以將目錄列表寫成乙個檔案srcdir.cmd,在gdb裡面一次指定:
srcdir.cmd //這是只是檔名
dir /home/***/linux-2.6.30/fs/fat/file.c
dir /home/***/linux-2.6.30/fs/fat/cache.c
dir /home/***/linux-2.6.30/fs/fat/inode.c
…然後在gdb裡面使用source命令
source srcdir.cmd
小技巧:
使用指令碼生成srcdir.cmd
#!/bin/sh
find /home/***/linux-2.6.30/fs/fat/ -name "*"
> srcdir.cmd
GDB除錯core檔案
1.什麼是core dump?core dump說的是作業系統執行的乙個動作,當某個程序因為一些原因意外終止 crash 的時候,作業系統會將這個程序當時的記憶體資訊轉儲 dump 到磁碟上,產生的檔案就是core檔案了,一般會以core.形式命名。2.那些訊號能夠引起core dump?經常用到的...
GDB除錯coredump檔案
linux上程式崩潰起來挺煩人,不過linux 比較好的是有gdb.echo ulimit c unlimited etc profile 然後記得敲入命令 source etc profile然後敲入命令 ulimit c效果如下 確認能否生成coredump檔案,使用如下命令 使用時注意,我在測...
gdb除錯coredump檔案
linux上程式崩潰起來挺煩人,不過linux 比較好的是有gdb.echo ulimit c unlimited etc profile 然後記得敲入命令 source etc profile然後敲入命令 ulimit c效果如下 確認能否生成coredump檔案,使用如下命令 使用時注意,我在測...