1
我在C++中運行了一個深度優先搜索程序,用於非常大的圖形。 dfs是以遞歸方式寫入的。我的筆記本電腦上出現了分段錯誤11,但找不到任何錯誤。然後我在Linux服務器上運行它,它運行良好。不同機器上的分割故障11行爲
我很好奇它有什麼不同。我懷疑堆棧大小,因爲程序是遞歸的,但是當我檢查:ulimit -a
時,兩臺計算機的堆棧大小都是8192 kB。我無法找到可能導致此問題的其他限制。你知道我爲什麼有這個區別嗎?謝謝!
運行它通過調試器/ valgrind /等 –
你可以得到的區別,因爲你的程序可能有一個錯誤,似乎只適用於一個平臺,而不是另一個。解決方案是修復這個錯誤。 Gregor建議的工具非常值得學習和使用。我會推測並說這可能是一個無效的內存訪問,如一個錯誤,使用後釋放,使用未初始化的內存等。 – Adam
當相同的代碼行爲不同時,可能會有一些未定義的行爲 – Jack