【问题标题】:Hot to re-run a C++ code from a specific point in the middle of the code, after changing the code below that point?在更改该点以下的代码之后,从代码中间的特定点重新运行 C++ 代码很热吗?
【发布时间】:2014-03-09 02:26:46
【问题描述】:

所以,我有一个 C++ 程序,我使用 Visual Studio 2010。不过,我的程序主要是过程性而非面向对象的编程。我的程序的第一部分做了一些事情,然后下半部分使用前半部分的信息做其他事情。前半部分需要一段时间(约 20 分钟)才能运行(我通过在调试模式下运行它知道这一点,并在前半部分结束后立即设置一个断点)。

问题是我正在为下半场尝试不同的想法。现在,每当我为任何新想法编写代码时,我都必须从头开始运行整个代码,因此必须等待 20 分钟才能运行新的后半部分。这非常不方便/效率低下;因为我会这样做一段时间。我也不能真正一次写下我所有的想法并同时运行不同的程序(每个想法对应的前半部分和后半部分相同),只是因为我在运行旧的想法并了解一些关于我的算法的行为。

那么,有没有什么方法可以让我在第二部分更改某些内容时在第一部分之后立即开始运行代码,而不是每次我在第二部分?如果可能的话,那是怎么回事?

【问题讨论】:

  • 两个程序,状态保存在一个文件中?第一个程序的前半部分,运行一次,数据保存在一个文件中。然后后半部分是一个单独的程序,读取第一个程序保存的状态。

标签: c++ c compilation


【解决方案1】:

由于您使用的是 Visual Studio,因此您应该查看Edit and Continue

编辑并继续是一项节省时间的功能,可让您制作 在程序处于中断模式时更改源代码。什么时候 您通过选择执行命令来恢复程序的执行 像 Continue 或 Step,Edit and Continue 会自动应用 代码更改有一些限制。这允许您更改 在调试会话期间您的代码,而不必停止, 重新编译整个程序,然后重新启动调试会话。

但请注意限制 - Unsupported Scenarios,您可能必须构建代码更改以适应支持的内容。

【讨论】:

    猜你喜欢
    • 2023-03-06
    • 1970-01-01
    • 2022-01-11
    • 2014-12-17
    • 2022-12-04
    • 2018-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多