2

Windbg を使用して ASP.NET Web アプリケーションをデバッグしています。

私はテーブル名を出力するためにこのプロセスに従っています:

!dumpheap -type System.Data.DataTable
!do 6bd27818 (DataTable MT)
as !ds .printf "%mu \n", c+
!ds 0bb93b44  (TableName)

私はまだwindbgの初心者ですが、すべてのデータテーブルのテーブル名を一覧表示するスクリプトはありますか? ありがとう

4

1 に答える 1

1

解決しましたhttp://www.infinitec.de/post/2011/08/15/Windbg-Finding-a-specific-instance-of-a-managed-object-in-a-windows-process.aspxに感謝します

.load C:\Program Files\DebugDiag\Exts\psscor2.dll


.foreach(entry {!dumpheap -type System.Data.DataTable -short}){.printf "%p: ", entry; du poi(${entry}+38)+c;.printf "\n"}

38は下から来ています:

!do DatatableAddress

65675184  40007b2       34 ...ropertyCollection  0 instance 00000000 extendedProperties
0daf0b24  40007b3       **38**        System.String  0 instance 6bbd8de4 tableName
于 2012-08-24T05:33:34.793 に答える