調動 MDA

Note

本文專指 .NET 框架。 此規定不適用於較新的 .NET 實作,包括 .NET 6 及更新版本。

marshaling當 CLR 為方法參數或結構欄位設置封送資訊時,管理除錯助理(MDA)會被啟動。 此 MDA 不適用於 JIT 編譯的組件。

對運行時間的影響

此 MDA 對 CLR 沒有影響。

Output

MDA 顯示參數或欄位在受管理與非受管理上下文中的型別,以及包含該型別的結構或方法。 以下為欄位的輸出範例:

Marshaling from 'Char' to 'ANSI char'
name="assembly!Namespace.Class::myChar

Configuration

MDA 配置允許你根據相關欄位或方法名稱過濾報告的編組資訊。 以下範例展示了如何使用 methodFilterfieldFiltermatch 元素來指定濾波器。 將屬性設 name 為星號(*)即可匹配所有屬性。

<mdaConfig>
  <assistants>
    <marshaling>
      <methodFilter>
        <match name="Method1"/>
        <match name="Method2"/>
      </methodFilter>
      <fieldFilter>
        <match name="Field1"/>
        <match name="Field2"/>
       </fieldFilter>
    </marshaling>
  </assistants>
</mdaConfig>

另請參閱