调试时出现问题... 突然间,我无法在调试时看到大多数变量的值。 我设法在立即窗口中获得了两条不同的消息:
无法获取本地或参数'参数'的值因为它在这个指令指针上不可用,可能是因为它已被优化掉了。
和
表达式评估程序中的内部错误。
我已经尝试并检查了以下内容:
您对我如何再次正确调试有任何进一步的想法吗? :(
提前致谢
修改 代码没什么特别的......当我试着看看参数[Key]
里面的内容时会发生这种情况public void AddOrUpdateQuartzJob(string jobName, IList<KeyValuePair<string, string>> parameters)
{
var jobDetail = this.GetJobDetail(jobName);
if (jobDetail != null)
{
foreach (var parameter in parameters)
{
jobDetail.JobDataMap[parameter.Key] = parameter.Value;
}
}
else
{
this.ScheduleNewJob(jobName, parameters);
}
}
答案 0 :(得分:10)
[.NET Framework Debugging Control]
GenerateTrackingInfo=1
AllowOptimize=0
请注意,它必须是程序集的名称,而不是进程EXE的名称(除非它是您要调试的EXE程序集)。例如。如果您有一个程序集MyCode.dll
,则INI文件名将为MyCode.ini
。
以下是a presentation on .Net debugging中显示差异的幻灯片:
优化:
没有优化:
答案 1 :(得分:1)
转到 - &gt;项目属性 - &gt;在Build - &gt;下设置&#34;优化代码&#34;复选框未选中。
另外, 在项目属性下 - &gt;构建 - &gt;高级 - &gt;设置&#34;调试信息&#34;下降到&#34; Full&#34;在选项中
答案 2 :(得分:1)
对于其他对此感到困惑的人,您可能会犯一个与我相同的简单错误:我的构建模式设置为从今天早些时候要发布的另一个项目中发布。将其翻转回Debug;问题解决了。
答案 3 :(得分:0)
在进行codekaizen和isanka thalagala列出的更改后,请不要忘记清理,重建和发布以使更改生效。