调试 – 如何使用ILspy调试一个DLL?
发布时间:2020-12-14 02:56:01 所属栏目:Windows 来源:网络整理
导读:我想使用ILspy调试一个dll,如图: 但它只能显示两个过程: 但在vs2010中,我可以附加更多进程: 如何在ILspy中显示w3wp.exe?谁能帮我? 解决方法 来自ILSpy源代码(ICSharpCode.ILSpy.Debugger.UI.AttachToProcessWindow): Process currentProcess = Process
我想使用ILspy调试一个dll,如图:
但它只能显示两个过程: 但在vs2010中,我可以附加更多进程: 如何在ILspy中显示w3wp.exe?谁能帮我? 解决方法
来自ILSpy源代码(ICSharpCode.ILSpy.Debugger.UI.AttachToProcessWindow):
Process currentProcess = Process.GetCurrentProcess(); foreach (Process process in Process.GetProcesses()) { try { if (process.HasExited) continue; // Prevent attaching to our own process. if (currentProcess.Id != process.Id) { bool managed = false; try { var modules = process.Modules.Cast<ProcessModule>().Where( m => m.ModuleName.StartsWith("mscor",StringComparison.OrdinalIgnoreCase)); managed = modules.Count() > 0; } catch { } if (managed) { list.Add(new RunningProcess { ProcessId = process.Id,ProcessName = Path.GetFileName(process.MainModule.FileName),FileName = process.MainModule.FileName,WindowTitle = process.MainWindowTitle,Managed = "Managed",Process = process }); } } } catch (Win32Exception) { // Do nothing. } } 似乎比较直接…… 它是预览软件,因此该算法可能存在缺陷,用于确定进程是否使用托管代码. 您可以通过下载源代码并进行更改来移动传递此问题 bool managed = false; 至 bool managed = true; 并重新编译. 我没有安装IIS7的完整版本,所以我不能尝试重新创建你的问题,但我怀疑我会遇到同样的问题,因为我的Visual Studio开发服务器在ILSpy中显示得很好而你的没有.也许你的环境有一些不同的东西会混淆上述算法. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Windows server 2016搭建DNS服务
- windows – 已发布的软件未在“添加/删除程序”中显示
- Windows下的PHP安装文件线程安全和非线程安全的区别
- windows – 从VBscript或命令行打印PDF而不用acrobat.exe
- 据统计WIN10用户已经比WIN7多
- windows – 为所有现有用户和所有新用户添加HKCU密钥和值的
- 从Windows服务读取网络共享上的文件(通过tomcat作为服务的应
- DOS命令重定向到文件截断输出
- audio – 如何将PJSIP与VOIP chatterbox示例应用程序Window
- 在windows服务器开启php的gd库phpinfo中未发现