在Visual Studio中进行调试时,有时会添加一个断点,但它是空心的,VS会说“该断点当前不会被击中。源代码与原始版本不同。” 显然,这使我无法进行调试。
该消息到底意味着什么? 什么原始版本? 如果我刚刚打开解决方案并且未对代码进行任何更改,那么怎么会有“原始版本”?
#1楼
当调试一个C ++项目,该项目加载已使用某些CRL语言(托管C ++,C#等)实现的模块时,也会发生这种情况。 在这种情况下,错误消息的确会引起误解。
解决方案是将公共语言运行库(CLR)支持配置属性放入启动项目,然后重新编译。
#2楼
对我有用的是将解决方案平台从x86更改为Any CPU。 更改为“任意”后,我设置了一个停止地址,运行了网站,打开了页面,单击了按钮,然后它停止了。 我关闭了站点,改回x86并成功执行了相同的顺序。
#3楼
在解决方案配置中选择调试 ,而不是发布
#4楼
我也遇到了这个。 导致我出现问题的情况:
- 我在本地运行完整的IIS7实例
- 我正在将软件版本化到单独的项目中
我是通过打开以前的版本引起的(VS提示在IIS调试中提示我是否要指向该实例,我回答“是”),然后打开当前版本(再次以“是”响应IIS提示) ),然后尝试在先前版本中进行调试。
为了解决这个问题,我仅关闭并重新打开了先前的预期版本,然后再次将其声明为调试源。
#5楼
尝试在调试模式下运行时禁用并重新设置断点,而不要在启动调试模式之前执行此操作。
来源:oschina
链接:https://my.oschina.net/stackoom/blog/3159409