“选项”对话框 ->“调试”->“编辑并继续”
若要访问**“编辑并继续”页,请打开“工具”菜单并选择“选项”。 在“选项”对话框中,展开“调试”文件夹并选择“编辑并继续”。 该页允许为“编辑并继续”**设置下列选项。 有关更多信息,请参见编辑并继续。
启用“编辑并继续”
选定后,启用“编辑并继续”。“编辑并继续”能够在程序处于中断模式(有一些限制)时更改源代码,并能应用这些更改,而无需结束调试会话和重新生成程序。
调试期间无法更改此设置。
由调试命令调用
(仅限本机)选定后,可使“编辑并继续”由执行命令(例如“单步执行”)调用。首先询问
**(仅限本机)**告知调试器在从调试命令调用“编辑并继续”前首先询问您。 这样,您可以根据需要取消调用。就陈旧的代码发出警告
**(仅限本机)选定后,调试器使用“陈旧代码警告”**对话框就陈旧代码向您发出警告。 (请参见“陈旧代码警告”对话框。)在某些情况下,“编辑并继续”无法将代码更改立即应用于可执行文件,但如果您继续调试,则可能稍后会应用代码更改。 “编辑并继续”此时将更新代码。 代码更新之前,源窗口一直以灰色显示原始代码。 因为此代码已被代码更改取代,它已经过时或陈旧。 无法编辑陈旧的代码。
调试后重新链接代码更改
**(仅限本机)**调试后重新链接本机代码更改。“编辑并继续”不调用自定义生成步骤。 如果程序使用自定义生成步骤,则可能要手动重新生成这些步骤才能调用它们。 在这种情况下,可以在“编辑并继续”后禁用重新链接,以确保系统会提示您手动重新生成。
允许预编译
**(仅限本机)**允许“编辑并继续”在后台加载并处理预编译头,以加快对代码更改的处理。 加载预编译头需要分配物理内存,如果您正在一台 RAM 有限的计算机上进行编译,这可能会是一个问题。 通过在调试期间使用任务管理器确定可用物理内存的数量,可以确定这是否是个问题。 如果此数量大于预编译头的大小,则“编辑并继续”应没有问题。 如果此数量小于预编译头的大小,可以通过清除该选项禁止“编辑并继续”在后台加载预编译头。在远程调试或对以另一个用户帐户运行的应用程序进行调试时启用
**(仅限本机)**在计算机之间或跨用户帐户调试时允许执行“编辑并继续”操作。
警告
在进行远程调试或跨用户帐户调试时,启用本机“编辑并继续”会带来严重的安全隐患。 在这类情况下,启用本机“编辑并继续”会公开一个安全漏洞,该漏洞可能由正在调试的应用程序、在同一计算机上运行的其他应用程序或连接到同一网络的其他计算机上的第三方利用。 通过利用此漏洞,恶意方可能会在正在调试的计算机上启动并运行任意代码。 除非您信任正在调试的应用程序和计算机以及您连接到的网络,否则请不要启用此功能。