US8006235B2ActiveUtilityA1

Profiler management

80
Assignee: MICROSOFT CORPPriority: Jun 11, 2007Filed: Jun 11, 2007Granted: Aug 23, 2011
Est. expiryJun 11, 2027(~0.9 yrs left)· nominal 20-yr term from priority
G06F 11/3644G06F 11/3466G06F 2201/865
80
PatentIndex Score
11
Cited by
20
References
19
Claims

Abstract

A profiler manager may attach and detach profilers from a running application. A profiler may be detached through a two step process where the profiler is sealed from communicating with the running application, then an evacuation step where the application is able to complete any responses that are pending. While the profiler is in the evacuation phase, another profiler may be attached to the application. Messages to the evacuating profiler may be captured and directed to the proper profiler.

Claims

exact text as granted — not AI-modified
1. A method comprising:
 attaching a first profiler to an application; 
 detaching said first profiler from said application by sealing said first profiler from new communications with said application; 
 attaching a second profiler to said application while said application is executing; 
 identifying a modified portion of said application having been modified by said first profiler prior to sealing; 
 replacing said modified portion of said application with an unmodified portion of said application; and 
 performing a shutdown of said first sealed profiler. 
 
     
     
       2. The method of  claim 1 , said attaching a first profiler comprising compiling at least a portion of said application, said portion having been modified by said first profiler. 
     
     
       3. The method of  claim 1 , said attaching a first profiler being performed after said application is executing. 
     
     
       4. The method of  claim 1 , said detaching said first profiler further comprising evacuating said first profiler. 
     
     
       5. The method of  claim 4 , said evacuating comprising:
 identifying at least one function of said application, said at least one function having been modified by said first profiler; and 
 waiting for said at least one function to finish executing. 
 
     
     
       6. The method of  claim 4 , said evacuating comprising:
 determining that at least one response is pending from said application to said first profiler; and 
 waiting for said application to transmit said at least one response to said profiler. 
 
     
     
       7. The method of  claim 1  further comprising:
 receiving a first message from said application to said first profiler; and 
 transferring said first message to said first profiler. 
 
     
     
       8. The method of  claim 1  further comprising:
 detaching said second profiler from said application by sealing said second profiler from new communications with said application; 
 attaching a third profiler to said application while said application is executing; 
 receiving a first message from said application to said first profiler; 
 transmitting said first message to said first profiler; 
 receiving a second message from said application to said second profiler; and 
 transmitting said second message to said second profiler. 
 
     
     
       9. A computer readable storage medium comprising computer executable instructions adapted to perform the method of  claim 1 . 
     
     
       10. A profiler manager comprising:
 a profiler sealer adapted to seal a profiler from new communications with a target application; 
 a profiler attachment mechanism adapted to attach a profiler to said target application; 
 a profiler communication manager adapted to:
 receive a message from said target application; 
 determine an intended profiler; and 
 transmit said message to said intended profiler; and 
 
 a profiler evacuator adapted to:
 identify a modified portion of said target application having been modified by a first sealed profiler prior to sealing; 
 replace said modified portion of said target application with an unmodified portion of said target application; and 
 perform a shutdown of said first sealed profiler. 
 
 
     
     
       11. The profiler manager of  claim 10  further comprising:
 a profiler evacuator adapted to:
 identify an outstanding communication response from said target application to a first sealed profiler; and 
 perform a shutdown of said first sealed profiler. 
 
 
     
     
       12. The profiler manager of  claim 10 , said sealing comprising receiving a sealing command from said profiler. 
     
     
       13. The profiler manager of  claim 10 , said sealing comprising preventing said messages from being received by said target application. 
     
     
       14. The profiler manager of  claim 10 , said intended profiler being a sealed profiler. 
     
     
       15. The profiler manager of  claim 14 , said intended profiler being one of a plurality of sealed profilers. 
     
     
       16. The profiler manager of  claim 10  being executed within a managed code environment. 
     
     
       17. The profiler manager of  claim 16 , said managed code environment being a virtual machine environment. 
     
     
       18. A method comprising:
 attaching a first profiler to an application; 
 detaching said first profiler from said application by sealing said first profiler from new communications with said application, said detaching being performed by identifying a modified portion of said application having been modified by a first profiler prior to sealing, replacing said modified portion of said application with an unmodified portion of said target application, and performing a shutdown of said first profiler; 
 attaching a second profiler to said application while said application is executing; and 
 evacuating said first profiler by:
 identifying at least one function of said application, said at least one function having been modified by said first profiler; 
 waiting for said at least one function to finish executing; 
 determining that at least one response is pending from said application to said first profiler; and 
 waiting for said application to transmit said at least one response to said profiler. 
 
 
     
     
       19. A computer readable storage medium comprising computer executable instructions adapted to perform the method of  claim 18 .

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.