• snoweMA
    link
    fedilink
    arrow-up
    4
    ·
    1 year ago

    The code is already compiled. what do you mean it’s preemptively compiled? If you’re talking about executed, they explicitly called that out…

    A prediction can also end at a function call the debugger is cautious about evaluating. That is for your own (or your software’s) well-being. Since code is executed during debugging, the debugger has to be sure that it’s not causing any mutations. When running the above example, we must confirm the evaluation of the int.TryParse method (more about that later):

    As mentioned in the previous section, the predictive debugger won’t evaluate possibly impure functions to avoid side effects. As a human developer, you most certainly have more knowledge about the code, which is why we give you the possibility to forcefully evaluate a call by clicking the hint:

      • jvisick
        link
        fedilink
        arrow-up
        4
        ·
        1 year ago

        By necessity, when you’re in the debugger your code has already been compiled either way, no? Or am I missing something here?

        This isn’t executing your code as you’re writing it (though it does support Edit & Continue), this is preemptively executing the next lines in your code when you’re already paused in the debugger - which means it’s been compiled and already running.

      • snoweMA
        link
        fedilink
        arrow-up
        2
        ·
        1 year ago

        you’re misunderstanding. this is a function of the debugger. Your code has already been compiled and is currently running if you are using this feature.