摘要:
In a distributed system including a debug server and debug clients coupled for data communications through a network, where the debug server includes a debug administrator, message router, back-end debugger, and a debuggee, collaborative software debugging includes: presenting a client-specific GUI; detecting user input through the GUI, including user input specifying a location to establish an event; establishing a client-specific event alert to be invoked upon receipt of an event notification for the event; generating application-level messages, including a request to establish the event; sending application-level messages to the debug server, including the request; receiving client-specific debug results, including an event notification for the event; and displaying the client-specific debug results, including invoking the client-specific event alert responsive to the event notification, without invoking an alert by at least one of the other debug clients receiving the event notification.
摘要:
Compiling source code for debugging, including: receiving, by an optimizing compiler from a debugger, a user specification of preferred breakpoint locations in the source code; compiling, by the optimizing compiler, the source code, wherein compiling includes inserting a snapshot at one or more of the preferred breakpoint locations, and recording the location of each inserted snapshot; and providing, to the debugger by the optimizing compiler, the recorded locations of each inserted snapshot along with the compiled source code.
摘要:
Debugging of code of a computer program is facilitated by having a plurality of internal breakpoints associated with lines of code previously set by a processor, during a debugging session, while implementing one or more step-type operations. During execution of another operation, internal breakpoints are disabled as encountered and deemed unnecessary to completion of the another operation. A count of a number of interrupts of one or more interrupt-types experienced during execution of the another operation is maintained, and responsive to the count exceeding a threshold, the disabling is varied to remove at least N internal breakpoints responsive to encountering an internal breakpoint during execution of the another operation deemed unnecessary to completion of the another operation, where N≧2.
摘要:
Debugging of code of a computer program is facilitated by implementing, during a debugging session, a step-type operation by machine instruction stepping through the code, and concurrent therewith, setting up breakpoints to perform the step-type operation. Responsive to the machine instruction stepping reaching a next debuggable line of code prior to completion of setup of breakpoints to perform the step-type operation, the machine instruction stepping is discontinued, and the setting up of breakpoints to perform the step-type operation is discontinued. Alternatively, responsive to completing setup of the breakpoints to perform the step-type operation prior to machine instruction stepping reaching the next debuggable line of code, the machine instruction stepping is discontinued, and the code is executed to perform the step-type operation using the set breakpoints.
摘要:
A non-stop debugging environment includes a debugger configured to debug a multi-threaded debuggee. In the non-stop debugging environment, encountering an event by one of the threads stops execution of only the one thread without concurrently stopping execution of the other threads. Thread-specific events may managed in the non-stop debug environment by identifying, by the debugger for a thread of execution of the debuggee not currently executing, a thread-specific event associated with the thread; removing, by the debugger, the thread-specific event for all threads of the debuggee; and upon the thread resuming execution, replacing, by the debugger, the thread-specific event.
摘要:
Debugging source code includes: tracking, by a debugger during a debug session, duration of user examination of source code locations; providing, by the debugger to an optimizing compiler, a source code examination profile specifying source code locations examined by the user during the debug session; and receiving, by the debugger from the optimizing compiler: compiled source code for debugging, the compiled source code comprising, at each of one or more source code locations specified in the source code examination profile: a snapshot before the source code of the source code location, followed by an expanded snapshot, the expanded snapshot including computer program instructions to enable, during a debug session, examination of variable values changing during execution of the source code at the source code location; and a recording of snapshot locations and expanded snapshot locations.
摘要:
Compiling source code for debugging, including: receiving, by an optimizing compiler from a debugger, a user specification of preferred breakpoint locations in the source code; compiling, by the optimizing compiler, the source code, wherein compiling includes inserting a snapshot at one or more of the preferred breakpoint locations, and recording the location of each inserted snapshot; and providing, to the debugger by the optimizing compiler, the recorded locations of each inserted snapshot along with the compiled source code.
摘要:
Methods, apparatuses, and computer program products for real-time temperature sensitive machine level code compilation and execution are provided. Embodiments include compiling and executing, by a just-in-time (JIT) compiler, machine level code; during execution of the machine level code, determining, by the JIT compiler, an execution temperature for the machine level code, including reading temperature measurements from one or more processor temperature sensors; based on the determined execution temperature, identifying, by the JIT compiler, a portion of the machine level code that, when executed, caused temperature measurements of one or more processor temperature sensors to exceed a predetermined threshold temperature; recompiling, by the JIT compiler, the machine level code including modifying the identified portion to generate a new execution temperature that is lower than the previously determined execution temperature; and executing, by the JIT compiler, the recompiled machine level code.
摘要:
In a distributed system that includes a debug server and debug clients coupled for data communications through a data communications network, where the debug server includes a debug administrator, a message router, a back-end debugger, and a debuggee, collaborative software debugging includes receiving, by the debug server from the debug clients, application-level messages including receiving, from a requesting debug client, a request to establish a private debug session of the debuggee; routing, by the message router, the application-level messages among the debug clients, the debug administrator, and the back-end debugger, including forwarding, to the back-end debugger, the request to establish a private debug session of the debuggee; and; and returning, by the debug server to the debug clients in response to the application-level messages routed to the back-end debugger, client-specific debug results, including establishing the private debug session of the debuggee for the requesting debug client.
摘要:
Embodiments of the invention provide debugging techniques for multithreaded programs. For example, a debugger may reduce the time required to release inactive threads that hold resources needed by an active thread. For example, if a timer expires before a line of code finishes executing, the debugger assumes that the active thread requires a resource locked by an inactive thread and releases other threads. During subsequent execution of the line of code, the debugger reduces the timer length of the timer. In doing so, inactive threads are released sooner, thereby reducing the wait time a user experiences when debugging lines of code.