GDB除錯庫lib檔案 dir命令使用

2021-10-23 10:23:04 字數 731 閱讀 5129

問題:庫是在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檔案,使用如下命令 使用時注意,我在測...