在使用Reference Source调试.Net 源代码时如何取消optimizations(代码优化)-翻译
2017-09-08 21:32
525 查看
在使用PDB调试XAF时,发现好多变量都看不到.都被优化掉了.
下面的方法可以解决.
当你在使用Reference Source functionality in VS 2008 调试.Net 的源代码的时候,你会发现很多变量没法再调试时查看。
这是因为源代码服务器上提供的代码默认是为最终销售优化过的(optimized )。这些值虽然你没法查看,但不会阻断单步执行,大部分情况下你可能不需要查看。
但如果你真的需要查看,这里还是有一个办法的。
你需要靠诉CLR不要加载pre-JIT(也加NGEN)镜像。下面是具体步骤:
首先,创建一个CMD文件。文件里包含这么几步,设置一个环境变量,随后启动Visual Studio。 我把这个文件命名为"NoOptDevEnv.cmd",具体内容如下:
set COMPLUS_ZapDisable=1
cd /d "%ProgramFiles%\Microsoft Visual Studio 9.0\Common7\ide\"
start devenv.exe
exit
我把这个CMD文件文件放在我的桌面,当我需要禁止优化(optimizations)的时候就用这个文件启动VS。
一旦Visual Studio启动,还需要做以下步骤:
右键单击你的项目文件,选择“属性”
选择“调试(Debug)”,取消勾选"允许Visual Studio托管进程(Enable the Visual Studio Hosting Process)"
在调试模式启动你的程序。
现在,你可以看到所有的本地和成员变量的值了:
原文:http://blogs.msdn.com/b/sburke/archive/2008/01/29/how-to-disable-optimizations-when-debugging-reference-source.aspx
下面的方法可以解决.
当你在使用Reference Source functionality in VS 2008 调试.Net 的源代码的时候,你会发现很多变量没法再调试时查看。
这是因为源代码服务器上提供的代码默认是为最终销售优化过的(optimized )。这些值虽然你没法查看,但不会阻断单步执行,大部分情况下你可能不需要查看。
但如果你真的需要查看,这里还是有一个办法的。
你需要靠诉CLR不要加载pre-JIT(也加NGEN)镜像。下面是具体步骤:
首先,创建一个CMD文件。文件里包含这么几步,设置一个环境变量,随后启动Visual Studio。 我把这个文件命名为"NoOptDevEnv.cmd",具体内容如下:
set COMPLUS_ZapDisable=1
cd /d "%ProgramFiles%\Microsoft Visual Studio 9.0\Common7\ide\"
start devenv.exe
exit
我把这个CMD文件文件放在我的桌面,当我需要禁止优化(optimizations)的时候就用这个文件启动VS。
一旦Visual Studio启动,还需要做以下步骤:
右键单击你的项目文件,选择“属性”
选择“调试(Debug)”,取消勾选"允许Visual Studio托管进程(Enable the Visual Studio Hosting Process)"
在调试模式启动你的程序。
现在,你可以看到所有的本地和成员变量的值了:
原文:http://blogs.msdn.com/b/sburke/archive/2008/01/29/how-to-disable-optimizations-when-debugging-reference-source.aspx
相关文章推荐
- 在使用Reference Source调试.Net 源代码时如何取消optimizations(代码优化)-翻译
- 在使用Reference Source调试.Net 源代码时如何取消optimizations(代码优化)-翻译
- 在使用Reference Source调试.Net 源代码时如何取消optimizations(代码优化)
- 使用WinDbg调试.NET代码
- 【十五分钟Talkshow】如何理解并优化.NET应用程序对内存的使用
- 如何使用Java API在黑莓手机上记录事件信息做代码调试
- 【.Net】如何使用C#代码锁定Excel文件
- .NET性能分析最佳实践之:如何找出使用过多内存的.NET代码(基础篇)
- .NET性能分析最佳实践之:如何找出使用过多内存的.NET代码(基础篇)
- [翻译]如何使用Visual Studio的Debugger调试NDS自制软件
- 如何使用dispatch_once优化代码性能
- .NET性能分析最佳实践之:如何找出使用过多内存的.NET代码(基础篇)
- 如何理解并优化.NET应用程序对内存的使用
- .net如何使用C++的代码?托管C ++和非托管C ++互相访问
- 如何使用gdb调试代码(一、A Globla view of GDB )
- 下载所有的 .NET 开源代码,使用NET MASS DOWNLOADER一次性搞定!太棒了(英文,近期翻译)
- 如何使用.NET生成C#源代码
- 使用.net 中的动态方法编程备忘录1(如何查看生成的动态方法的代码)
- 【十五分钟Talkshow】如何理解并优化.NET应用程序对内存的使用
- 【翻译】MSIL 教程(二):数组、分支、循环、使用不安全代码和如何调用Win32 API