2009-09-16 69 views
3

如果我有像bool operator ==(const uint128 & x,const uint128 & y);我怎樣才能讓gdb反彙編它?如何反彙編gdb中的重載操作符?

+0

uint128如何實現?如果它是一個內置的整數類型,那麼你不能定義一個運算符== – 2009-09-16 17:50:19

+0

它被定義爲兩個無符號長整數的結構 – 2009-09-16 17:51:26

回答

7
(gdb) p 'operator==(uint128 const&,uint128 const&)' 
$1 = {bool (const uint128 &, const uint128 &)} 0x401040 <operator==(uint128 const&, uint128 const&)> 
(gdb) disassemble $1 
Dump of assembler code for function _ZeqRK7uint128S1_: 
0x00401040 <_ZeqRK7uint128S1_+0>:  push %ebp 
... (elided) 
0x00401066 <_ZeqRK7uint128S1_+38>:  ret  
End of assembler dump. 
(gdb) 
+0

給我「無與倫比的單引號」。我也用雙引號試過,沒有引號,沒有骰子。 – 2009-09-16 17:45:54

+0

嘗試使用w /「p」代替反彙編。然後通過地址進行反彙編。 – 2009-09-16 17:47:57

+0

如何獲取該功能的地址? – 2009-09-16 17:49:34