2011-10-18 17 views
-1

如果嘗試進入(si)sysenter指令,會發生什麼情況?會發生什麼?輸出或進程linux,註冊

+3

當我不知道會做什麼時,你知道我做了什麼。 **我試了一下!** :-)(顯然不是因爲在我的眼睛裏戳了一根尖銳的棍子,或者要求我的妻子的最好的朋友出去一個浪漫的插曲,但單步進入操作系統不太可能是危險的那樣)。 – paxdiablo

+0

lol mate閱讀這個問題我說我無法弄清楚這顯然意味着我已經試圖在提問之前做到這一點 –

+2

@RohitPradeep:你到目前爲止嘗試過什麼? –

回答

2

爲了回答這個問題,您需要了解si的工作原理。

它如何工作?有兩種方法我能想到的:

  1. 以調試必須設置一個(臨時)斷點在下 指令,或
  2. 調試修改處理器的狀態,使得處理器將執行一條指令,停止(又名單步)。

選項1很複雜,因爲指令可能是間接跳轉,例如, CALL (%eax)RET,所以調試器可能不得不花費很大的麻煩來理解下一條指令是什麼。

所有調試我熟悉使用選項2

現在,你也許可以解釋你觀察什麼,當你sisysenter(或syscall,或int80)指令。你需要知道的另一件事是,一旦sysenter切換到內核模式(否則你的整個系統將凍結),內核不可能允許單步模式。

相關問題