共用方式為


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表示在堆疊上的暫存變數。 本範例會執行下列步驟:

  1. 移動暫存器的內容ebp到T0。

  2. 新增4中的T0產生地址,該地址,取得值,並將值儲存在暫存器eip。

  3. 取得值的地址儲存在T0 ,並將該值儲存在暫存器中ebp。

  4. 新增8中的T0 ,並將該值儲存在暫存器中esp。

請注意程式字串特定 CPU,並設定成 [由目前的堆疊框架的函式的呼叫慣例。

請參閱

參考

IDiaFrameData