没有C#源代码,IL级别调试。听说windbg也可以,不过windbg有些难。另外il其实一般写C#程序也不熟,不过我目的只是找出异常点,到客户一般不发pdb文件,出去也是release版本,出异常(大多是“未将对象引用到实例”),一般log出的也是到Method级别,不能知道具体是哪句,用dile能找出大概问题。
https://sourceforge.net/projects/dile/
我是下的0.2.13,.net 4.5/mono不支持,还好自己程序是4.0
执行dile.exe,然后菜单debug/attach to process找w3wp,然后会问要不要加载模块,选not all ,一般web程序dll太多,都加载会慢死。
去下面Modules Panel里找到你要挂的dll,然后project Explorer树里就会有你的dll,找到类里方法,然后debug\troggle breakpoint,
去浏览器执行一下,就可以断到了,不过dile默认是出exception就会停,工具栏上有一个不要断在异常的,可以屏蔽。
另外不知道是不是attach挂已有的进程限制,不能看本地变量,有点郁闷。