我得到以下异常(荷兰语,英文翻译在文中,后面的文章),当我按下“确定”时,会破坏我的调试器。它会停止调试会话并关闭应用程序:
以文字翻译:
---------------------------
LerTemperaturaWPF.vshost.exe - Application Error
---------------------------
INTERNAL ERROR:
Unhandled exception in Debugger::HandleIPCEvent.
Event ID=0x246.
Exception code=0xc0000005, Eip=0x68fbaeca.
Process ID=0x1094 (4244), Thread ID=0x10a4 (4260).
---------------------------
OK
---------------------------
如果调试器第一次中断在某段代码中,则会发生这种情况:
private void PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
{
// Set value of property, only when the long editor is selected (no optionlist item is selected)
if (this.Editor.SelectedItem != null)
{
if (this.Editor.SelectedItem as OptionForList == null)
{
this.Editor.SelectedValue = ((Management.Property)this.Editor.SelectedItem).Value;
this.Editor.SelectedIndex = 0;
}
}
}
当我将断点放在第二个if语句中,在第二个if语句之前(我放置它的地方)时,会发生这种情况。它没有给我任何问题。
如果我确保调试器的第一个中断位于此代码之前,之后它在此代码中遇到断点,则也没有问题。在获取此代码之前,调试器必须已损坏。现在我不认为它与此代码有任何关系(90%确定)。
更改的属性是用户控件,不知怎的,我认为调试器无法正确处理用户控件?可能?
之前有没有人见过这种行为并知道如何解决这个问题?我是否需要关闭(或打开)某些调试设置?
答案 0 :(得分:36)
右键单击项目/解决方案 - >属性 - >调试 - >选中"启用本机代码调试"。
答案 1 :(得分:2)
(1)在Debug菜单上 - > Windows-> Exceptions,并启用所有Thrown复选框。调试应用程序,它将显示消息框中的实际和详细错误。
(2)右键单击项目/解决方案 - >属性 - >调试 - >取消选中"启用Visual Studio托管流程"。
(3)请同时更改平台目标(X86 / Any CPU / X64),重新编译应用程序,再次调试。
(4)工具>选项>调试>一般> "使用托管兼容模式"复选框。