gdb是啥意思 如何讓gdb調(diào)試時(shí)正確顯示源代碼中的漢字?
如何讓gdb調(diào)試時(shí)正確顯示源代碼中的漢字?調(diào)試GDB時(shí),源代碼中的漢字無法正確顯示,這與GDB本身無關(guān),而是由于終端的字符編碼不正確造成的。下面是我通過xshell連接Linux系統(tǒng),通過GDB正常調(diào)
如何讓gdb調(diào)試時(shí)正確顯示源代碼中的漢字?
調(diào)試GDB時(shí),源代碼中的漢字無法正確顯示,這與GDB本身無關(guān),而是由于終端的字符編碼不正確造成的。下面是我通過xshell連接Linux系統(tǒng),通過GDB正常調(diào)試漢字的終端設(shè)置示例:
終端代碼應(yīng)該設(shè)置為GB2312。設(shè)置完成后,通過GDB調(diào)試和list命令可以正常顯示漢字。業(yè)主可以根據(jù)自己的Linux系統(tǒng)設(shè)置終端字符代碼。不同的Linux設(shè)置是不同的。業(yè)主可自行查看相關(guān)指令。
gdb加載動(dòng)態(tài)庫成功,但是不能顯示動(dòng)態(tài)庫中的源碼(gdb gdbserver)?
因?yàn)榫唧w給出的不夠詳細(xì),不知道你遇到的情況。如果你只看斷點(diǎn),它應(yīng)該是部門cpp:55但是,如果程序不是用-o0編譯的,則可能無法返回源代碼,因此只能查看程序集。1有時(shí)(很少)是編譯器錯(cuò)誤。2您正在調(diào)試的程序和源代碼之間也可能不匹配。三。您的程序已經(jīng)崩潰,破壞了堆?;騁DB需要的數(shù)據(jù)。4這個(gè)地方有特殊的定位信息。5我們經(jīng)常遇到許多其他情況。如果你知道裝配,你最好看看。如果沒有,看看哪條語句是最后一條可以追蹤的語句。如果仔細(xì)查看上一條語句中的所有變量,您應(yīng)該能夠猜出問題所在。
如何使用gdb調(diào)試可執(zhí)行程序與源程序?
簡(jiǎn)而言之,有兩種方法。一種是源代碼調(diào)試,即通過分析源代碼找出bug的位置。通常,printf()用于打印程序執(zhí)行的每個(gè)步驟的信息。二是可執(zhí)行文件調(diào)試