簡體   English   中英

在QtCreator上使用GDB檢查變量后的SEGFAULT

[英]SEGFAULT after inspecting variable with GDB on QtCreator

我遇到以下情況:我的程序運行正常,是否要做我想做的一切,測試通過了,Valgrind說沒問題。 唯一的問題是,如果我在某個時候暫停執行並嘗試在QtCreator的調試視圖中檢查某些對象的狀態(使用GDB),則某些變量將變為<not-accessible>並且在恢復執行時會達到分段故障。

更具體地說,程序是單線程的,這是在樹結構中跟隨指針時發生的。 根據測試的輸出,該結構似乎還不錯。

有人知道可能的原因嗎? 也許我以一種幸運的方式不會影響測試的方式弄亂了堆棧,或者可能只是一個IDE或調試器問題不應該在意嗎? 預先感謝您的任何答案。

有人知道可能的原因嗎?

您的程序中是否有多個線程?

當某個程序的行為根據是否存在某些GDB斷點而有所不同時,在99.99%的情況下,該程序會發生數據爭用,而僅在“不合時宜”的時間停止它的事實就暴露了這一事實。

在Linux上,您可以使用Thread Sanitizer檢查數據競爭。

暫無
暫無

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

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