IDiaFrameData::get_program
擷取程式字串,用來計算目前的函式呼叫之前設定的暫存器。
HRESULT get_program (
BSTR* pRetVal
);
參數
- pRetVal
[] out傳回程式的字串。
傳回值
如果成功的話,會傳回S_OK。 傳回S_FALSE如果這個屬性不受支援。 否則,會傳回錯誤碼。
備註
該程式字串是一連串的巨集,才能建立初構會被解譯。 例如,典型的堆疊框架可能會使用程式字串"$T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + ="。 格式是反向波蘭文表示法中,運算子遵照運算元的位置。 T0表示在堆疊上的暫存變數。 本範例會執行下列步驟:
移動暫存器的內容ebp到T0。
新增4中的T0產生地址,該地址,取得值,並將值儲存在暫存器eip。
取得值的地址儲存在T0 ,並將該值儲存在暫存器中ebp。
新增8中的T0 ,並將該值儲存在暫存器中esp。
請注意程式字串特定 CPU,並設定成 [由目前的堆疊框架的函式的呼叫慣例。