2010-05-04 46 views
1

我想通過一個二進制文件,我的老師給我逐行檢查堆棧上的地址和不同寄存器的內容,但我對使用gdb並不是很熟悉。雖然我有C代碼,但我們應該完全從二進制文件中工作。這裏是我到目前爲止所使用的命令:GDB的問題 - 我如何逐行通過反彙編代碼?

(gdb) file SomeCode 

這給了我這個消息:

Reading symbols from ../overflow/SomeCode ...(no debugging symbols found)...done. 

然後我用:

(gdb) disas main 

這給了我所有的組裝。我想設置一個斷點並使用「下一個」命令,但我嘗試的命令都不起作用。有誰知道我會用的語法?

回答

3

嘗試使用ni這是nexti。相當於si這是步驟指令

+0

當我嘗試了 「文件SomeCode」 命令或 「disas主」 它說,後經過短短妮,接下來,步驟等「程序不正在運行「。如果我嘗試執行「運行./SomeCode」,則表示拒絕了權限。任何想法我失蹤? – GetOffMyLawn 2010-05-04 01:27:59

+1

@用戶首先設置斷點,運行,下一步:'break main','run','stepi'。閱讀手冊,它解釋得很好。我不是故意讓你失望,手動是學習調試的非常好的源。另外,你可以使用幫助命令,例如'help break' – Anycorn 2010-05-04 01:55:41

+0

@user如果你還在努力工作,發佈你的命令,我會指出你在哪裏做misstsake。 – Anycorn 2010-05-04 02:09:36