发明名称 Stepping out of an asynchronous method into its continuation in a debugger
摘要 Stepping out of an asynchronous process. A method includes, as part of a computer program execution, at a caller, making an asynchronous function call from the caller to a callee. Associated with the asynchronous function call a continuation waits for the completion of the callee with respect to the asynchronous function call. The method further includes correlating a debugging indicator to the callee indicating that a user wishes to step out of the caller when the callee returns. An indication of completion of the callee with respect to the asynchronous function call and that a user wishes to step from the callee to the continuation is received. The debugging indicator is referenced and based on the debugging indicator execution at entry into the continuation is stopped.
申请公布号 US8893090(B2) 申请公布日期 2014.11.18
申请号 US201113088003 申请日期 2011.04.15
申请人 Microsoft Corporation 发明人 Halliday Ian William James;Miskelly Gregg Bernard;Toub Stephen H.;Lomov Dmitry
分类号 G06F9/44;G06F11/36 主分类号 G06F9/44
代理机构 代理人 Sullivan Kevin;Drakos Kate;Minhas Micky
主权项 1. A computer-implemented method comprising: identifying a plurality of endpoints in a callee of a computer program, each of the endpoints being a point where execution of the callee ends, identifying the plurality of endpoints comprising generating identifiers for the plurality of endpoints; as part of executing the computer program, at a caller, making an asynchronous function call from the caller to the callee; recognizing that one of the identified endpoints has been reached in the program execution after making the asynchronous function call, the recognizing that the one of the identified endpoints has been reached being based at least in part on at least one of the generated identifiers for the plurality of endpoints; in response to recognizing that one of the identified endpoints has been reached in the program execution after the making of the asynchronous function call, performing the following: setting at least one of one or more debugging indicators, the at least one of the one or more debugging indicators being correlated to the callee to indicate that execution of the callee has reached at least one of the endpoints; andcontinuing the computer program execution; in response to the computer program execution reaching a continuation of the callee that is waiting for completion of the callee with respect to the asynchronous function call, determining that at least one of the one or more debugging indicators is set to indicate that execution of the callee has reached at least one of the endpoints; and stopping the program execution and stepping out of the program execution at entry into the continuation of the callee, the stopping of the program execution and the stepping out being performed in response to one or more determinations comprising the determination that at least one of the one or more debugging indicators is set to indicate that execution of the callee has reached at least one of the endpoints.
地址 Redmond WA US