Call Stacks for Asynchronous Programs
AssigneeMicrosoft Corporation
InventorsLucian Wischik, Eric Feiveson
Life of this patent
Estimating the term…
Loading patent…
AssigneeMicrosoft Corporation
InventorsLucian Wischik, Eric Feiveson
Estimating the term…
Embodiments provide call stacks for asynchronous programming. A set of all asynchronous call stacks is found by first identifying all threads and all outstanding tasks that have not yet been completed. Optionally, all outstanding continuation-delegates or lambdas that are in the windows queue waiting to be scheduled and/or all outstanding delegates or lambdas in a language-specific queue are also identified. Next, for each thread, identify whether it was invoked by a continuation-callback and, if so, find the corresponding task/promise. Next, given a task/promise, identify the logical parent task/promise. Optionally, given a delegate or lambda, identify its logical parent task/promise. The sequence of logical tasks/promises constitutes an asynchronous call stack in a program. Further information may optionally be retrieved to make the asynchronous call stack more useful. Finally, given a task/promise, identify the corresponding line number and location in source code.
A computer-implemented method, comprising:
A computer system, comprising:
A computer-readable storage medium storing computer-executable instructions that when executed by at least one processor cause the at least one processor to perform a method for generating an asynchronous call stack for a program, the method comprising:
Dependencies are inferred from the claim text.