在.Net的mscorlib的System.IO.FileStream.Read()中的Windgb中设置断点

时间:2010-07-29 17:12:40

标签: .net windbg

我想为mscorlib的System.IO.FileStream.Read()设置断点,以便在文件读取时进行跟踪。我没有可执行文件的源代码。我想从MSIL代码的入口点启动跟踪。

2 个答案:

答案 0 :(得分:2)

以下是使用SOS扩展dll在任何托管方法中断的步骤(我将使用System.IO.FileStream.Read()作为示例。)

  1. 等待加载mscorwks.dll(或.NET 4中的clr.dll)。这可以通过 “.sxe ld mscorwks”。这将在mscorwks加载时中断。
  2. “。loadby sos mscorwks”。这将为CLR版本加载正确的sos扩展名。
  3. “!name2ee mscorlib.dll System.IO.FileStream.Read”
  4. 您将获得您感兴趣的方法的方法描述符。
  5. 将md值传递给bpmd extension命令为“!bpmd”。
  6. 这应该是断点。

    如果您对任何文件加载感兴趣,可能会对我撰写的有关此问题的博客感兴趣:http://gopikrishnam.wordpress.com/2010/07/16/who-is-loading-this-file/

答案 1 :(得分:0)

您可以使用!BPMD命令(SOS的一部分)在托管方法上设置断点。 http://msdn.microsoft.com/en-us/library/bb190764.aspx