本文介绍了调试时鼠标光标悬停在变量上时,VS2012 Ultimate变量值不可见的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

那似乎是一个老问题了!但这让MS无法解决此问题.

That seems to be an old issue ! but it is so anoying tha MS can not fix that.

我用Oxygen PASCAL编写了以下代码,没有错误,并且可以正常工作,并且Oxygen已完全与Visual Studio 2012 Ultimate集成.

I have the following code written in a Oxygen PASCAL, compiling error free, and it works, and Oxygen is is fully integrated with Visual Studio 2012 Ultimate.

Dat_USER.SPEZ   := SUBSTR( Dat_USER.SPEZ, 1, length(Dat_USER.SPEZ) -1 ); 
Dat_USER.PROCTY := 'I'; 
Dat_USER.USERN  := SYS_User;

当我选择Dat_USER然后执行RMB Down然后使用Add Watch时,变量将添加到Watch 1窗口中,但Value设置为未知标识符:Dat_USER;" ,但是Dat_USER的类型为public&Records,其中包含很多字段(整数和字符串).

When I select Dat_USER and then do RMB Down and then use Add Watch, the Variable is added to the Watch 1 Window but the Value is set to"Unknown identifier: Dat_USER;" However Dat_USER is of Type public Record with a lot of fields (Integer and Strings) in it.

是如此令人着迷,相信我,在调试用C#.NET或VB.NET编写的DLL时,我也看到了相同的情况

It is so anyoing, and beleve me, I see the same when debugging DLL's written in C#.NET or VB.NET

我是否正在调试一小部分网站服务器代码,这可能是ist要做的吗?但是DLL在问题不是编译的JIT,而是一个单独的项目,因为它也在客户端使用,并且没有DLL代码移动到此网站项目中, 仅引用存在.我将其称为典型的调试器问题.很烦.我问自己,如果旧功能不再起作用,为什么总是新功能!为了防止DLL对代码进行优化,我将以下行添加到AssemblyInfo.pas, 然后我转到了工具"/选项"/调试"/"JustMy代码"(我禁用了此功能). (但在这种情况下并没有什么区别,但在其他情况下却很好.

Could it be that ist has to do that I am debugging a pice of Web Site Server Code? But The DLL in  question was not compiled JIT, but as a separate project, because it is used at the client as well, and no DLL code is moved into this web site project, only references exists.  I call this a typical Debugger Problem. Very anoying. I ask myself, why always new functionality if old functionality does no longer work ! In oder to prevent that my DLL has optimized code, I added this line to AssemblyInfo.pas, And I turned of under Tooles / Options /  Debugging / JustMy Code (I disabled this feature). (but doesn't make a differece for this context but for other contexts it well does.

[assembly: System.Diagnostics.Debuggable(System.Diagnostics.DebuggableAttribute.DebuggingModes.DisableOptimizations)]

Sepp

推荐答案

我用Oxygen PASCAL编写了以下代码,没有错误,并且可以正常工作,并且Oxygen已完全与Visual Studio 2012 Ultimate集成.

I have the following code written in a Oxygen PASCAL, compiling error free, and it works, and Oxygen is is fully integrated with Visual Studio 2012 Ultimate.

Dat_USER.SPEZ   := SUBSTR( Dat_USER.SPEZ, 1, length(Dat_USER.SPEZ) -1 ); 
Dat_USER.PROCTY := 'I'; 
Dat_USER.USERN  := SYS_User;

当我选择Dat_USER然后执行RMB Down然后使用Add Watch时,变量将添加到Watch 1窗口中,但Value设置为未知标识符:Dat_USER;" ,但是Dat_USER的类型为public  publicRecord  ;,其中包含很多字段(整数和字符串).

When I select Dat_USER and then do RMB Down and then use Add Watch, the Variable is added to the Watch 1 Window but the Value is set to"Unknown identifier: Dat_USER;" However Dat_USER is of Type public Record with a lot of fields (Integer and Strings) in it.

是如此令人着迷,相信我,在调试用C#.NET或VB.NET编写的DLL时,我会看到相同的情况

It is so anyoing, and beleve me, I see the same when debugging DLL's written in C#.NET or VB.NET

我是否正在调试一小部分网站服务器代码,这可能是ist要做的吗?但是DLL在问题不是编译的JIT,而是一个单独的项目,因为它也在客户端使用,并且没有DLL代码移入此网站项目, 仅引用存在.我将其称为典型的调试器问题.很烦.我问自己,如果旧功能不再起作用,为什么总是新功能!为了防止DLL对代码进行优化,我将以下行添加到AssemblyInfo.pas, 然后我转到了工具"/选项"/调试"/"JustMy代码"(我禁用了此功能). (但在这种情况下并没有什么区别,但在其他情况下却很好.

Could it be that ist has to do that I am debugging a pice of Web Site Server Code? But The DLL in  question was not compiled JIT, but as a separate project, because it is used at the client as well, and no DLL code is moved into this web site project, only references exists.  I call this a typical Debugger Problem. Very anoying. I ask myself, why always new functionality if old functionality does no longer work ! In oder to prevent that my DLL has optimized code, I added this line to AssemblyInfo.pas, And I turned of under Tooles / Options /  Debugging / JustMy Code (I disabled this feature). (but doesn't make a differece for this context but for other contexts it well does.

[assembly: System.Diagnostics.Debuggable(System.Diagnostics.DebuggableAttribute.DebuggingModes.DisableOptimizations)]


这篇关于调试时鼠标光标悬停在变量上时,VS2012 Ultimate变量值不可见的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-25 08:46