導航:首頁 > 源碼編譯 > Gdb二進制文件編譯路徑

Gdb二進制文件編譯路徑

發布時間:2022-04-03 07:30:26

A. 如何調試linux下的二進制可執行文件

linux下的程序調試,使用gdb來調試。

B. 如何在Windows的命令行下進行程序編譯和gdb

1、概念介紹。

1、Windows下的cmd就是Windows的命令行終端,其中的一些命令和Ubuntu的有些許區別,不過在這個博客的范疇中沒有涉及。
2、Windows的環境變數,大概可以說是如果設置好了在path路徑裡面了,就可以直接在cmd命令行里直接調用程序。

2、配置操作

1、選擇計算機,右鍵,選擇「屬性」
2、「高級系統設置」 –> 「環境變數」

4、後期優化

大家還可以給自己配一個用的順手的編輯器,比如sublime,gvim,(甚至是notepad ,hhh)同理把它放在環境變數里,那麼也可以在cmd中直接打開,這時在win下的編程過程就和Ubuntu的非常像了。。

5、備注

1、此處以win7為例,其他版本的應該大同小異。

2、另附片面的gdb調試方法

3、使用編輯器和命令行編譯的方法對於了解程序的運行過程更加有好處,但是從方便性上的確不如IDE,特別是用熟了vs的同學們就應該更能體會得到,所以各有利弊,大家自己選擇最符合自己口味的編程環境就好:)

C. gdb在調試時是如何找到源文件在哪裡

默認會對兩個路徑進行搜索:

  1. 編譯的時候的源文件路徑

  2. 當前gdb的路徑(即在gdb種執行pwd顯示的路徑,可以用cd改變)

所以你知道為什麼不管可執行文件放到哪裡,都能找到源文件了吧~如果你把源文件移走,就找不到了。這個時候,你可以通過dir命令添加路徑進行查找。

D. gdb調試,可執行文件和 源文件不在同一個目錄怎麼處理

我用makefile寫了個編譯程序,因為makefile自動搜索源文件路徑,所以在寫這個makefile文件時,我的每個源文件 只有文件名,而沒附帶路徑名,說白了,我編譯完成後,我的.h 文件在 /SE/include中,.cpp文件在 /SE/src中, .o文件和 可執行文件在/SE/bin中,然後我是在/SE/bin中 運行gdb ./a.out 的,然後用L命令時…… 就提示不存在文件了……,我的每個 g++編譯過程都加上了-g選項,還請達達們指點 PS:我用了 gdb的-d 和dir命令 好像都不行……還是我用的方法不對?請指點 ------解決方案--------------------------------------------------------gdb a.out b main //設置斷點run //運行------解決方案--------------------------------------------------------帶路徑你可以試試 g++ ../abc.cpp ./seh/def.cpp ../efgh/ijk.cpp ------解決方案--------------------------------------------------------l path/filename.c:linenumber ------解決方案--------------------------------------------------------探討l path/filename.c:linenumber ------解決方案--------------------------------------------------------探討引用:

E. gcc編譯生成的二進制文件為什麼不能執行啊

可能是文件不完善

F. gdb怎麼進入其他文件中的函數調試

運用以下2個命令即可: next //執行下一行源代碼,但並不進入調用函數內部 step //執行下一行源代碼,進入函數內部,這個時候,可以在調用函數裡面加斷點。 gdb中的函數調用: call name 調用和執行一個函數(gdb) call gen_and_sork(1234,1,0)...

G. gdb怎麼看一個地址是從哪個文件映射過來的

  1. 可以使用 SQL Server Profiler 查看跟蹤中捕獲的事件數據。SQL Server Profiler 顯示基於定義的跟蹤屬性的數據。

  2. 分析 SQL Server 數據的一種方式是將數據復制到其他程序中,例如 SQL Server 或資料庫引擎優化顧問。如果跟蹤中包括「文本」數據列,則資料庫引擎優化顧問可以使用包含 SQL 批處理和遠程過程調用 (RPC) 事件的跟蹤文件。

  3. 為了確保捕獲正確的事件和列以便與資料庫引擎優化顧問一起使用,請使用隨 SQL Server Profiler一起提供的預定義優化模板。

  4. 使用 SQL Server Profiler打開跟蹤時,如果跟蹤文件是由 SQL Server Profiler或 SQL 跟蹤系統存儲過程創建的,則該文件不需要帶 .trc 文件擴展名。

H. gdb怎麼查看程序是在哪行代碼那裡執行了exit退出

gdb 查看 core 文件

基本上
core 文件就是一個包含了程序崩潰時這個進程的所有信息的文件。在那 「遙遠的黃金年代」,程序員不得不把 core 文件以十六進制的方式顯示
出來,然後滿頭大汗的閱讀機器碼的手冊,但是現在事情就簡單得多了。順便說一下, 在 FreeBSD 和其他的 4.4BSD 系統下,core 文件都叫作
progname.core 而不是簡單叫 core,這樣可以很清楚的表示出這個 core
文件是屬於哪個 程序。

1. 要檢查一個 core 文件,首先用 gdb 可執行文件名
來調試產生core文件的可執行程序:

2. 命令 core會分析 可執行程序名.core
文件
註:如果當前不是 core 文件所在目錄,首先要執行 dir
/可執行程序名.core的路徑/。
(gdb)core 可執行程序名.core

舉例:
$gdb a.out
GDB is free software and you are
welcome to distribute copies of it under certain conditions; type "show ing"
to see the conditions. There is absolutely no warranty for GDB; type "show
warranty" for details. GDB 4.13 (i386-unknown-freebsd), Copyright 1994 Free
Software Foundation, Inc.

(gdb)core
a.out.core
Core was generated by `a.out'.
Program terminated with
signal 11, Segmentation fault.
Cannot access memory at address
0x7020796d.
#0 0x164a in bazz (anint=0x5) at temp.c:17
(gdb)

這種情況下,運行的程序叫 a.out,因此 core 文件 就叫
a.out.core。我們知道程序崩潰的原因就是函數 bazz 試圖訪問一塊不屬於它的內存。

有時候,能知道一個函數是怎麼被調用的是非常有用處的。因為在一個復雜的程序裡面問題可能會發生在函數調用棧上面很遠的地方。

3.
命令 bt 會讓 gdb
輸出函數調用棧的回溯追蹤
(gdb)bt
#0 0x164a in bazz (anint=0x5) at temp.c:17
#1 0xefbfd888 in end ()
#2 0x162c in main () at temp.c:11
(gdb)

函數 end() 在一個程序崩潰的時候將被調用;
在本例
中,函數 bazz()
是從 main()中被調用的。

I. mac上gdb怎麼調試二進制文件

一、安裝GDB1在進行gdb安裝前應首先配置好homebrew安裝管理工具,由於先前寫過Homebrew的詳細安裝過程(可以參考本人先前經驗)2安裝好homebrew後,輸入如下命令查看homebrew中是否有gdb安裝包,可以看到現在的版本中並沒有gdb安裝包。3輸入命令...

J. 為什麼gdb找不到源文件

默認會對兩個路徑進行搜索:


  1. 編譯的時候的源文件路徑

  2. 當前gdb的路徑(即在gdb種執行pwd顯示的路徑,可以用cd改變)


所以你知道為什麼不管可執行文件放到哪裡,都能找到源文件了吧~如果你把源文件移走,就找不到了。這個時候,你可以通過dir命令添加路徑進行查找。

閱讀全文

與Gdb二進制文件編譯路徑相關的資料

熱點內容
王者榮耀安卓怎麼購買轉移號 瀏覽:950
改變自己pdf 瀏覽:958
php自動安裝程序 瀏覽:416
linux命令行開機 瀏覽:420
程序員圖鑒刷屏 瀏覽:643
vector源碼java 瀏覽:75
中文編程網頁 瀏覽:782
文件加密如何進行比對 瀏覽:555
阿里雲伺服器計算型通用型區別 瀏覽:945
夜嗨app怎麼不能更新 瀏覽:538
qd65y壓縮機參數配置 瀏覽:940
中級會計教材pdf 瀏覽:477
弱簽名演算法md5 瀏覽:360
進行系統硬體設置的文件夾是 瀏覽:752
dwrg什麼文件夾 瀏覽:677
小米電視如何加密wifi 瀏覽:343
java私鑰解密 瀏覽:959
犯過罪還能當程序員嗎 瀏覽:984
參數名稱java 瀏覽:16
android序列化文件 瀏覽:252