从脚本组件 (SSIS) 调试 .NET dll
Posted
技术标签:
【中文标题】从脚本组件 (SSIS) 调试 .NET dll【英文标题】:Debugging .NET dll from script component (SSIS) 【发布时间】:2011-01-12 22:42:22 【问题描述】:有没有办法从被引用的 SSIS 脚本组件调试 .Net dll。
谢谢
【问题讨论】:
【参考方案1】:您可以将 Visual Studio 附加到任何本地进程(如果是 remote debugger is set up,则可以附加到远程进程。)
-
在 Visual Studio 中打开 DLL 项目
从“调试”菜单(或“工具”菜单)中选择“附加到进程”。
单击标有“附加到”的框旁边的“选择...”按钮。确保选中调试这些代码类型/托管代码。
在可用进程列表中,找到 SSIS 进程。我不记得手头的进程名称,但它应该有 x86,类型列中的托管。可能必须选中“显示所有用户的进程”。
点击附加。
现在您可以像往常一样进入调试器,并且断点应该会被命中。如果由于某种原因无法加载调试符号,请打开“模块”窗口,找到托管的 DLL,右键单击并“加载符号”以找到它们。
【讨论】:
您能否详细说明如何加载符号?我正在尝试调试部署到 GAC 的自定义程序集,并且程序集的断点都没有处于活动状态,因为它们都说“当前不会命中断点。没有为此文档加载任何符号。”当我尝试在脚本组件调试器中加载程序集的符号时,没有任何反应。【参考方案2】:System.Diagnostics.Debugger.Launch() 和System.Diagnostics.Debugger.Break() 对这类问题很有用。但是,请尝试 Josh 首先说的调试菜单中的“附加到进程”,因为它在工作时更容易。
【讨论】:
以上是关于从脚本组件 (SSIS) 调试 .NET dll的主要内容,如果未能解决你的问题,请参考以下文章
如何在 SSIS 脚本组件中使用 OLEDB 连接执行 SqlCommand