用
objcopy
把除錯資訊放到單獨的檔案中
visual c++
預設把除錯資訊放到與可執行程式同名的
pdb檔案中(較新版本的
vc),而
gcc預設把除錯資訊放到可執行檔案中。除錯資訊與程式分離有不少好處,一是可以大大較少可執行程式的大小,二是增加了逆向工程的難度。
gdb
允許將除錯資訊從可執行程式中分離出來,放在單獨的檔案中,
gdb自動查詢並載入除錯資訊。如果可執行程式的除錯資訊被放到單獨的檔案中,那麼這個可執行程式應該包含乙個除錯鏈結,指向除錯資訊檔案,還有乙個與內容相關的校驗和。假設存在乙個可執行程式
/home/someone/foo,
並且foo
檔案存在乙個除錯鏈結,指向
foo.dbg
。除錯foo
時gdb
會在程式的當前目錄、當前目錄下的
.debug
目錄、全域性除錯檔案目錄(假設是
/home/debug
,可以通過
gdb的
set debug-file-directory
命令設定)中查詢
foo.dbg
,也就是查詢
/home/someone/foo.dbg
,/home/someone/.debug/foo.dbg
,/home/debug/foo/foo.dbg
這三個檔案。 在
unix
、linux
系統中借助
objcopy
可以輕鬆的實現除錯資訊的分離。操作步驟如下: 1
編譯 gcc -g -o foo foo.c
2 生成單獨的除錯資訊檔案
objcopy --only-keep-debug foo foo.dbg
3 去除除錯資訊
objcopy --strip-debug foo
4 新增除錯資訊檔案鏈結
objcopy --add-gnu-debuglink=foo.dbg foo
5 確認除錯資訊檔案鏈結
objdump -s -j .gnu_debuglink foo
用c語言把wav檔案轉換成數字放到txt檔案裡面
include include include include define w 128 每次讀寫檔案的資料量 int fileset 0 定義乙個整型變數,用於儲存fseek函式的返回值 int fileend 0 整個檔案的位元組數 int filelength 0 檔案的資料長度。注 每2個位...
把核心中的資訊列印到檔案
1.include include include include include include include include include define my file root logfile char buf 128 struct file file null static int in...
把jmeter獲取到的資訊存到本地檔案
1 jmeter使用正規表示式提取器,獲取到響應資訊,把獲取到的響應資訊寫到本地檔案 2 新增後置bean shell 寫入以下指令碼 3 開啟本地檔案檢視,寫入成功 指令碼內容如下 filewriter fstream new filewriter e desktop 1.txt true buf...