C 除錯工具(未完)

2021-09-24 16:09:00 字數 1035 閱讀 5330

ar

nm # 目標格式檔案分析,所以也可以分析.a檔案, .o .so 檔案

pstack # 跟蹤程序棧

strace # 跟蹤程序中的系統呼叫

objdump # 二進位制檔案分析

readelf # elf檔案格式分析

size # 程式在記憶體空間所佔的大小

使用的幾種簡單的工具

.a 檔案是是 .o 檔案的的集合

- 所以如果編譯時候報未定義的連線符號,那麼一定是缺少符號定義

nm -uca ***.o | grep

通過.a 檔案可以找到對應的未定義的符號是出現在那個.o 檔案裡面的,可以找到對應的.c 或者 .h 檔案

也可以直接通過

grep -nrh "" . 搜尋所有的原始檔來尋找未定義的符號是否包含

cat /pocketsphinx-5prealpha/src/libpocketsphinx/pocketsphinx.c | grep include | grep '"' | awk '' | xargs -n1 -i {} find . -name "{}"

執行過程: 預編譯 --> 編譯 --> 連線 --> 執行

編譯之後生成 .o 檔案,這個時候已經是彙編檔案了麼?

鏈結生成可執行檔案

靜態庫執行也更快速

./vcpkg search catch    # 查詢安裝包

./vcpkg install catch2 # 安裝,之後會給你一些提示資訊

如下

the package catch2:x64-linux provides cmake targets:

find_package(catch2 config required)

target_link_libraries(main private catch2::catch2)

那麼就可以在專案當中的cmakelist檔案當中配置

除錯工具 之Python除錯工具pycharm

1 pycharm的安裝 pycharm是一款非常好用的python ide,提供專業版和社群版,就像eclipse和myeclipse一樣,專業版是收費的,而社群版是免費的但功能就沒有專業版的功能強大。1.2 安裝 這裡就不必細說,直接next就ok ps 安裝完成後一定要執行 1.3 破解 採用...

c語言除錯工具簡介

概述 測試有很多方面,例如執行時間 函式呼叫關係圖 覆蓋度 效能分析 profiling 記憶體訪問越界 segmentation fault 緩衝區溢位 stack smashing 合法地進行非法的記憶體訪問?所以很危險 記憶體洩露 memory leak 測試工具簡介 1.測試程式的執行時間t...

gflags除錯工具

gflags windows除錯工具。使用它幫助我解決了瞎調了一整天的記憶體問題。由於使用了已經delete的指標,vs提示位置又錯誤的情況下,瞎調了一通。怎麼想那塊也不會有問題,可是抱著對vs的信任把錯就歸咎於自己吧!偶然的機會,搜到了gflags,抱著試一試的心態,使用該工具 1.安裝 debu...