[問題] C程式中取得EIP值!?

看板LinuxDev作者 (藍色咆哮)時間17年前 (2007/05/27 17:30), 編輯推噓1(101)
留言2則, 2人參與, 最新討論串1/2 (看更多)
我在linux 2.6版上,希望寫一個C語言應用程式 可以在執行到某段code時,我要把esp(stack pointer) 及ebp(base pointer or frame pointer)及eip(instruction pointer)的值 先存入程式變數中。 目前我利用的方式是在C程式中,加入assembly code 如下, unsigned int ESP,EBP; __asm__ __volatile__ ("mov %%esp, %0\n\t" "mov %%ebp, %1" : "=r" (ESP), "=r" (EBP) : "0" (ESP), "1" (EBP) : "0"); 但是現在系統好像不行直接允取讀到eip暫存器的值, 我該如何做才能取得eip值呢 !? Thx -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.117.156.143

05/27 18:08, , 1F
move 到 eax 再從 eax 取的?
05/27 18:08, 1F

05/27 20:11, , 2F
現在的情況好像不行直接用%%eip來取阿!! >"<
05/27 20:11, 2F
文章代碼(AID): #16MK-cXy (LinuxDev)
文章代碼(AID): #16MK-cXy (LinuxDev)