Abstract:
A debugger creates a lightweight process snapshot of a debuggee target process and performs in-process or function evaluation (func-eval) inspection against the copy. This allows most state in the debuggee process to stay intact because changes made by the func-eval are local to the process snapshot. Debugger operations that are too destructive to the original debuggee process can be performed on the process snapshot without threatening the real process. Process snapshots allow the debugger to perform a func-eval while isolating the debuggee process and not losing the actual state of the original debuggee process. A new process snapshot of the debuggee process is created when the current snapshot is corrupt due to a func-eval side effect. The debugger may also use a lightweight machine snapshot of the host debuggee machine and perform func-evals against that machine snapshot to further isolate kernel and other side effects.
Abstract:
A debugger creates a lightweight process snapshot of a debuggee target process and performs in-process or function evaluation (func-eval) inspection against the copy. This allows most state in the debuggee process to stay intact because changes made by the func-eval are local to the process snapshot. Debugger operations that are too destructive to the original debuggee process can be performed on the process snapshot without threatening the real process. Process snapshots allow the debugger to perform a func-eval while isolating the debuggee process and not losing the actual state of the original debuggee process. A new process snapshot of the debuggee process is created when the current snapshot is corrupt due to a func-eval side effect. The debugger may also use a lightweight machine snapshot of the host debuggee machine and perform func-evals against that machine snapshot to further isolate kernel and other side effects.
Abstract:
A remote procedure call channel for interprocess communication in a managed code environment ensures thread-affinity on both sides of an interprocess communication. Using the channel, calls from a first process to a second process are guaranteed to run on a same thread in a target process. Furthermore, calls from the second process back to the first process will also always execute on the same thread. An interprocess communication manager that allows thread affinity and reentrancy is able to correctly keep track of the logical thread of execution so calls are not blocked in unmanaged hosts. Furthermore, both unmanaged and managed hosts are able to make use of transparent remote call functionality provided by an interprocess communication manager for the managed code environment.
Abstract:
Methods and systems for debugging add-ins using a non-destructive approach. Add-ins are hosted, not stand-alone components, that run in a host application. The add-ins are loaded into an isolated environment so they can be debugged and stopped without affecting the host application. This prevents termination of the host application at arbitrary times. In addition, the host application can refresh itself when an add-in is stepped through in the debugger. The present invention also allows the add-in developer to interact with the host application during a debugging session even when the add-in is stopped at a breakpoint.
Abstract:
Systems and methods are provided that presents interesting local content to users at times when the content is most actionable and engaging without the user explicitly entering a search term or expressing intent. In one implementation, the system uses contextual signals about a user to rank local content. Signals may include, for example, who they (one or more users) are, what kinds of places they like, where they are, how familiar they are with the area, the time of day, where the user's friends have been nearby, among other information related to the one or more users. A system may be provided that uses contextual rules and machine learning to target content to users. The system learns which of these contextual signals are most important and alters its ranking function to optimize user engagement in terms of conversions.
Abstract:
A debugging and diagnostics system allows users to take lightweight process snapshots of running debuggee processes so the users may analyze those snapshots at a later time. The snapshot mechanism allows diagnostic tools to compare an original process or one or more process snapshots or to compare any of a series of snapshots to each other. The snapshot mechanism further allows users to inspect a snapshot of process memory while allowing the original process to continue running with minimal impact. A user may do historical debugging using process snapshots of a debuggee process taken over time. This allows the user to view the state of the debuggee process as it existed when the snapshot was taken. The lightweight process snapshot is less invasive because it does not require a full copy of the memory and allows the original process to run un-interrupted while specific collections and inspections are completed.
Abstract:
Methods and systems for debugging add-ins using a non-destructive approach. Add-ins are hosted, not stand-alone components, that run in a host application. The add-ins are loaded into an isolated environment so they can be debugged and stopped without affecting the host application. This prevents termination of the host application at arbitrary times. In addition, the host application can refresh itself when an add-in is stepped through in the debugger. The present invention also allows the add-in developer to interact with the host application during a debugging session even when the add-in is stopped at a breakpoint.
Abstract:
A debugging and diagnostics system allows users to take lightweight process snapshots of running debuggee processes so the users may analyze those snapshots at a later time. The snapshot mechanism allows diagnostic tools to compare an original process or one or more process snapshots or to compare any of a series of snapshots to each other. The snapshot mechanism further allows users to inspect a snapshot of process memory while allowing the original process to continue running with minimal impact. A user may do historical debugging using process snapshots of a debuggee process taken over time. This allows the user to view the state of the debuggee process as it existed when the snapshot was taken. The lightweight process snapshot is less invasive because it does not require a full copy of the memory and allows the original process to run un-interrupted while specific collections and inspections are completed.
Abstract:
The Integrated Body Conditioning (IBC) exercise system is a method of exercising employing three defining elements: integration of aerobic, resistance, and Range of Motion exercises performed at a properly elevated heart rate with exercise intensity and duration adjusted in view of biofeedback data.