Windbg Script---一个从连接池里查找信息的脚本
如果您像我一样,您可能会忘记需要查找某些特定信息的类和名称空间。或者你忘了要查找的字段名。例如当我需要从System.Data.SqlClient命名空间查找信息。
此脚本从连接检索特定信息。扩展它也很容易,因此可以使用相同的方法从其他名称空间和字段中提取信息。
就个人而言,我更喜欢基于DML(调试标记语言)的方法,因为我可以使用超链接和默认脚本调用:$$><。DML方法需要更多的工作和更低级的编程,但是可以提供更好的结果。
需要使用$$<而不是$$><。

Source code for CONNECTIONS_POOL.TXT:
$$
$$ =============================================================================
$$ Verify Connections from Pool.
$$
$$ Compatilibity: Win32, should work on Win64.
$$
$$ Attention! For .Net Framework 2.0, edit the script and remove the clr10\\ from it so it can use the
$$ sos.dll version 2.0
$$
$$ Usage: $$< to run the script. (note: Just $$< not $$><)
$$
$$ Requirements: Public symbols.
$$
$$ Roberto Alexis Farah
$$ All my scripts are provided "AS IS" with no warranties, and confer no rights.
$$ =============================================================================
$$
.shell -i - -ci ".foreach ( obj {!clr10\\sos.dumpheap -type System.Data.SqlClient.SqlInternalConnection -short} ) {!do ${obj} }" FIND "_fInPool"
.shell -i - -ci ".foreach ( obj {!clr10\\sos.dumpheap -type System.Data.SqlClient.SqlConnectionPoolControl -short} ) {!do ${obj} }" FIND "_fResetConnection"
.shell -i - -ci ".foreach ( obj {!clr10\\sos.dumpheap -type System.Data.SqlClient.SqlConnectionPoolControl -short} ) {!do ${obj} }" FIND "_maxPool"
$$
$$ Number of Connection Objects
$$ ============================
$$
!clr10\\sos.dumpheap -type System.Data.OleDb.OleDbConnection -stat
$$
$$ ===================================================================
为虫子生,为虫子死,为虫子奋斗一辈子
浙公网安备 33010602011771号