共用方式為


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 和針對目前堆疊框架所表示之函式所設定的呼叫慣例。

另請參閱