簡體   English   中英

如何調試分段錯誤

[英]How to debug a segmentation fault

如何調試分段錯誤?

基本上這是發生的事情:

我在后台運行我的服務器: ./server &

然后我運行我的客戶端: ./client

當我嘗試登錄我的服務器時,使用正確的用戶名和密碼,一切正常,但是當我鍵入無效的用戶名和密碼時,會導致分段錯誤。

如何使編譯器/調試器能夠輸出實際看到的導致分段核心轉儲的錯誤。

我知道gdb,但我嘗試使用gdb客戶端但它似乎不起作用。

分段錯誤的一個好主意是使用valgrind運行程序進行調試。 這樣,您將經常獲得有關導致細分錯誤的更多詳細信息。 例如,它會告訴您是否正在讀取未初始化的內存。

如果您正在使用g ++,請首先使用-g選項編譯您的程序。 然后用

 gdb name_of_program core 

在你獲得的核心轉儲上運行gdb( name_of_program是你剛用g ++構建的可執行文件的名稱)。 此鏈接對於如何使用gdb很有用。

http://www.ibm.com/developerworks/library/l-gdb/

這個廣告對代碼的注釋。 只有當你有很多函數調用並且你不知道調用路徑時它才有用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM