2013-06-25 37 views
4

我剛開始使用KDbg,並且很難找到我的問題的答案。我用KDbg打開一個文件(我打開一個用程序集編寫的可執行文件),彈出一個說使用KDbg脫水器和組裝問題

GDB:從/home/myputer/Desktop/ASMdirectory/chapter5/eatsyscall/eatsyscall...done讀取符號。

如何獲得選項以在調試器中運行程序並添加斷點等。它不允許我單擊按鈕來運行程序或添加任何斷點,這裏是否存在問題?我錯過了一步嗎?提前致謝。順便說一句,我正在使用Linux(Ubuntu)和NASM作爲我的彙編程序。

+1

在Nasm的命令行中添加'-F dwarf'可能會有所幫助... –

+0

我在想同樣的事情,即更改調試符號可能會有所幫助,但它不起作用。 -F矮人沒有工作,謝謝你的意見。 –

+0

[kdbg是DOA](https://bugs.launchpad.net/ubuntu/+source/kdbg/+bug/1072300)。 – nobar

回答

0

您正在運行的軟件的版本是什麼?

比如我運行Ubuntu的 12.04, 工具KDbg 2.5.0(KDE開發平臺4.8.5), GDB 7.4-2012.04, NASM 10年2月9日

您正在使用Duntemann的書,是嗎? 我假設你改變SECTION .txtSECTION .text因爲 當GDB試圖讀取它報告「完成」,而不是符號「無法找到符號文件中的任何代碼段」

我會建議使用gdb的,而不是直接的工具KDbg。我不知道如何讓kdbg顯示反彙編代碼或列表(或如何直接發送任何gdb命令)。我覺得可以做的最好的是:

  1. 運行工具KDbg
  2. 打開可執行
  3. 切換到斷點標籤
  4. 輸入「_start」(我認爲這是你唯一可見的符號)在編輯框中。
  5. 點擊「添加斷點」按鈕
  6. 點擊「運行」按鈕
  7. 執行應在_start打破
  8. 切換到寄存器標籤
  9. 點擊「按指令步入」按鈕走路通過您的代碼

Kdbg似乎無法重新啓動執行。看起來程序必須被殺死然後再次運行。