2

我创建了一个在 SQL 2k5 上运行的 CLR 存储过程,我想知道是否有任何方法可以获取 .NET 代码引发的异常的行号。当抛出异常时,我会得到类似的东西

消息 6522,级别 16,状态 1,过程 myProcedure,第 0 行在执行用户定义的例程或聚合“myProcedure”期间发生 .NET Framework 错误:System.Exception:测试异常 System.Exception:在 DummyDLL.myProcedure(String dummyInput ) .

有什么方法可以加载程序集来给我特定的行号,而不仅仅是引发错误的函数?程序集本身是用 .pdb 编译的,但是当我最初加载程序集时,SQL 2k5 似乎没有读取它。

谢谢!

4

1 回答 1

4

I'm not sure if registering the PDB as well will give you line numbers (theoretically, it should though).

Are you sure you are registering your PDB correctly? The following tells you how to do so:

http://blogs.msdn.com/ericnel/archive/2005/03/18/398534.aspx

Basically, the syntax is:

CREATE ASSEMBLY Asm1 FROM 'MyAssembly.dll'
GO
ALTER ASSEMBLY Asm1 ADD FILE FROM 'MyAssembly.pdb'
GO
于 2009-01-07T03:53:39.937 回答