我想知道是否有一种方法可以在 Visual Studio 2008 中调试代码时完全锁定我的代码。当作为 64 位应用程序运行时,代码文档会自动锁定,这是我非常喜欢的;然而,我的大部分编码都是为 Excel 制作加载项,它是 32 位的。结果是,即使我的目标是“AnyCPU”,VS 主机也知道它正在 32 位进程中运行,因此源代码是not当代码在 Visual Studio 中托管运行时被锁定。
我可以通过转到“工具”>“选项”>“调试”>“编辑并继续”,然后取消选中“启用编辑并继续”复选框来关闭“编辑并继续”。然而,这并没有完全锁定代码。这确实可以防止在代码中执行任何编辑current运行,但它不会阻止鼠标单击或击键实际更改代码。
同样,当使用 64 位应用程序时,这种情况不会发生——代码被完全锁定。我非常喜欢将代码完全锁定,至少有几个原因:
我在调试时可能会不小心按下某个键等,这是我绝对不想做的。这种情况很少见,但这是一个问题。
我的许多自动化测试通过 SendKeys 驱动用户界面。然而,当使用调试器单步执行此类测试时,我有时会忘记某些方面涉及 SendKeys,这意味着击键最终会发送到 Visual Studio IDE 而不是 Excel。
在上面的问题 #2 中,单元测试失败了,这很好——我的坏处——但是将所有击键发送到代码模块并破坏我的代码是完全不可接受的。
这里有人有什么想法吗?在 Visual Studio 中运行并针对 32 位 CPU 进行编译时,可以完全锁定代码吗?
关于这个问题的一些相关帖子,但没有一个直接解决这个问题:
- 如何:启用和禁用编辑并继续 http://msdn.microsoft.com/en-us/library/7yty6a48.aspx
- 在 Visual Studio 2008 中调试时“不允许更改 64 位应用程序” https://stackoverflow.com/questions/1498464/changes-to-64-bit-applications-are-not-allowed-when-debugging-in-visual-studio
- 如何在 Visual Studio 的调试模式下启用文件编辑? https://stackoverflow.com/questions/1105292/how-do-i-enable-file-editing-in-visual-studios-debug-mode
- Visual Studio 中的“编辑并继续”如何工作? https://stackoverflow.com/questions/224500/how-does-edit-and-continue-work-in-visual-studio
- 我们可以在运行应用程序时编辑代码吗 https://stackoverflow.com/questions/1659835/can-we-edit-our-code-while-running-the-application
- 调试时编辑 C# https://stackoverflow.com/questions/447706/editing-c-while-debugging
预先感谢您的任何帮助或想法...
Mike
这是我在 Visual Studio 2005 下使用的一个技巧(没有机会在 Visual Studio 2008 下测试,但它应该可以工作):
- 打开可执行程序集的属性
- 前往Debug tab
- 检查启用非托管代码调试复选框
即使遇到断点,代码文档也应保持锁定状态,并且任何更改代码文档的尝试都应触发弹出窗口:“启用非托管调试时不允许进行更改”.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)