VS 2010 调试 C#代码中的 datatable 或 dataset 报错 System.Exception: 函数计算超时。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VS 2010 调试 C#代码中的 datatable 或 dataset 报错 System.Exception: 函数计算超时。相关的知识,希望对你有一定的参考价值。

不是代码的问题 是调试代码 只要运行DATATABLE监视窗口 就会跳出这个报错,相同代码使用 VS2005调试调出DATATABLE监视窗口正常,能够显示出调试的表格 没有问题

参考技术A 看看是不是你的2010安装出问题,找另外一台电脑试试

VS如何在调试时进入到dll文件

背景:

    项目A:用C#写的一个类库文件
  项目B:引用项目A的dll文件,完成编码,也是C#编写的。

  需求:怎么能在调试的时候,调试断点能够从项目B中进入项目A中的代码。

解决办法就是:

  假设,项目B引用的项目A的dll文件是 a.dll ,并且a中没有引用项目A中其他的文件或者命名空间。如果a.dll中还引用了A项目下的其他命名空间的内容,如a2,那么在下面的操作也要包含a2的对应部分。

  将项目A下A.Web文件夹下bin文件夹(即路径:A/A.Web/bin/ )下的 a.dll与a.pdb文件,同时拷贝到B项目的外部引用文件夹下。这个"同时" 的含义是保证dll与pdb文件是同一个版本的。也就是说,你不能用时间点1的dll配合时间点2的pdb文件来进行调试进入dll的操作。如果a中还引用了a2命名空间的内容,那么必须也将a2.dll与a2.pdb文件同时拷贝过去,这个同时的含义同上。并且这个a2与a也是同时的。

  这些准备好了之后,B项目中重新生成,在B项目中,在你引用a.dll中函数的地方加断点,单步调试即可进入A项目中对应的被调函数。

表达上可能有含糊或者不准确的地方,还请批评指正。

 

实例说明:

  在PMCost项目中,部分代码如下,19行红色框内的函数引用自ACore项目中的Common命名空间下AjaxMethodAttribute.cs,我们知道,在生成dll的时候AjaxMethodAttribute.cs下的函数会被包含在ACore.Common.dll下。

技术分享图片

  并且AjaxMethodAttribute.cs中只引用了system及其两个子类,并没有引用 PMCost项目下的其他自定义命名空间。所以在拷贝的时候只需要拷贝ACore.Common.dll 及ACore.Common.pdb即可。

技术分享图片

技术分享图片

 

将两个文件拷贝到PMCost项目的外部引用中,在函数调用位置之前加断点,单步调试即可进入dll中。

技术分享图片

 技术分享图片

 


以上是关于VS 2010 调试 C#代码中的 datatable 或 dataset 报错 System.Exception: 函数计算超时。的主要内容,如果未能解决你的问题,请参考以下文章

VS2010远程调试C#应用

vs2010 C# 当前不会命中断点。还没有为该文档加载任何符号。 求解决

c#程序在VS2010调试中涉及Web Service工作,但在内置发布时不起作用

c#在vs2010调试运行和在debug中运行exe文件 结果不一样(串口通信)

VS 2010 C# 文件没有错误,但是当我调试时说它找不到神秘文件

C# VS2010 进入中断模式失败