2015-02-10 112 views
1

我想在rhel6 64位VM系統上設置洞察調試器: uname -a Linux lb-cam-bca-devel 2.6.32-358.23.2.el6.x86_64# 1個SMP星期六09月14 5時32分37秒EDT 2013 x86_64的x86_64的x86_64的GNU/Linux的洞察調試器斷點不工作

我已下載了源 - 洞察力6.8-1a.tar.bz2,從ftp://sourceware.org/pub/insight/releases獲得 配置,製造和安裝。

我可以運行洞察力,但是當我嘗試設置斷點時,它們不會被擊中。

這是我嘗試過的: 1)通過鼠標點擊程序集視圖並從GUI中選擇運行來設置斷點。可執行文件運行到最後。控制檯視圖上的輸出是「程序正常退出」。

2)通過鼠標點擊源代碼設置斷點,並從GUI中選擇運行。 Insight窗口全部消失(崩潰?)。 「分段故障」輸出到終端。

3)從GUI中刪除默認斷點,並在控制檯窗口中從gdb命令行設置斷點。鍵入r運行。 Insight窗口全部消失(崩潰?)。 「分段故障」輸出到終端。

如果我只是從終端運行gdb,我可以設置斷點並逐步通過源文件。

我正在調試的文件是一本簡單的asm腳本,取自一本書(彙編語言一步一步)。

我使用的構建文件的命令是: NASM -f ELF64 -g -F矮eatsyscall.asm LD -o eatsyscall eatsyscall.o

我使用打開洞察力的命令是: insight eatsyscall

有沒有人知道這裏會發生什麼?或者任何人都可以建議我如何去調試這個問題?目前我有點卡住了。

我看到報道在網絡上這種行爲最近的事情是在這裏: osdir.com/ml/debugging.insight/2008-09/msg00001.html

但不涉及共享庫在我的情況。

+0

我得到了一個更新的源代碼版本(insight-7.8),構建它並且工作正常。我仍然不知道原始版本出了什麼問題,但是當我構建新版本時,它抱怨無法找到共享庫 - 我必須設置LD_LIBRARY_PATH correcty。可能以前的版本是從某處找到一個不正確的庫? – user1802664 2015-02-20 13:42:35

回答

1

我有同樣的問題,爲了解決使用侏儒作爲調試信息格式即組裝代碼(如果使用NASM)作爲

nasm -f elf -g -F dwarf anyfile.asm 

(的-g格式被設置爲「刺」默認但GDB瞭解侏儒更好,你可以用-F開關更改)

現在鏈接對象代碼(如果使用GNU的連接器)

ld -o executable_name anyfile.o 

作爲調試格式,你現在可以設置斷點。