2016-07-06 49 views
0

我試圖在Linux下gdb一個程序。它是一種使用某些包含文件(該語言包括文件,而不是C/C++包含的文件)的語言的編譯器,通常在正常運行應用程序時可以正確加載。當在gdb下運行時,該應用程序抱怨它無法找到這些包含文件。我已經檢查過gdb的內部密碼,並且與獨立運行時完​​全一樣。可能是什麼問題呢?我該如何解決它?在GDB下調試的文件程序沒有看到它的文件

請注意,此編譯器不使用任何環境變量,它似乎從當前目錄中獲取它的包含。

+0

請記住,用gdb調試,而不源代碼讓GDB訪問,只要應用程序中包含調試符號來完成。它仍然能夠告訴您可以在您最喜歡的代碼編輯器中手動檢查的功能和代碼行。 – scai

+0

你可以試着用'strace -e trace = file yourprogram'來運行你的程序嗎? strace將執行gdb所做的一些相同的事情(例如禁用setuid和setgid),並且使用-e trace = file'選項,它會顯示文件錯誤(權限被拒絕,不存在等)。 –

+0

隨着strace它按預期運行。 – ssuukk

回答

相關問題