摘要:
Debugging of code of a computer program is facilitated by implementing a step-type operation using internal breakpoints to ensure debugger control of the code. During a debugging session, a step-type operation is implemented by setting active internal breakpoints on every line of code of every routine currently on the call stack referenced by the processor and on entry points of the code being debugged, and subsequently leaving in place, upon completion of the step-type operation, active internal breakpoints. Subsequent to implementing the step-type operation any active internal breakpoints encountered during execution of one or more other operations of the code and deemed unnecessary to completion of the other operation(s) are disabled, and the location of any internal breakpoints disabled during execution of the one or more other operations are tracked in a data structure(s) for subsequent use in reestablishing needed internal breakpoints for implementation of another step-type operation.
摘要:
In an embodiment, a cloud debug breakpoint, assigned to a first user, is established in a program at a first server in a cloud, wherein the first user selects the first server at which the program executes, from among servers in the cloud. The program at the servers in the cloud is executed, in response to requests from users. The program at the first server in the cloud is executed, in response to all requests from the first user to the program. If an identifier of a user that sent a request that the program was executing at a time that execution of the program at the first server reaches the cloud debug breakpoint matches an identifier of the first user assigned to the cloud debug breakpoint, the execution of the program is halted and control of a processor is given to a debugger.
摘要:
In a distributed system that includes a debug server and debug clients coupled for 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 application-level messages, including receiving, from a requesting debug client, a request to establish a variable-specific message for a particular variable; routing the application-level messages among the debug clients, the debug administrator, and the back-end debugger, including establishing the variable-specific message; and returning, to the debug clients, client-specific debug results, including: responsive to each request by a variable evaluating debug client to evaluate a variable and if a variable-specific message has been established for the variable to be evaluated, returning the content of the variable-specific message to be displayed in association with the variable in the variable evaluating debug client's client-specific GUI along with the evaluation of the variable.
摘要:
Event management in a non-stop debugging environment that includes a debugger configured to debug a debuggee, the debuggee including a number of threads of execution, where encountering an event by one of threads stops execution of only the one thread without concurrently stopping execution of other threads and event management includes: encountering, by a first thread, an event that stops execution of the first thread; while execution of the first thread is stopped, encountering, by each of one or more other threads, an event stopping execution of the other thread; queuing, by the debugger, the events stopping execution of the other threads; receiving, by the debugger from a user, an indication to flush one or more events from the queue; and flushing, by the debugger, the one or more events from the queue.
摘要:
A method, computer-readable storage medium, and computer system are provided. In an embodiment, a detection is made that at least one thread, in a plurality of threads executing in a computer, has hung. A lock order of a plurality of locks used by the plurality of threads is determined. A determination is made that a first thread in the plurality of threads violates the lock order. After the determination that the first thread violates the lock order, the computer is restarted and the first thread that violates the lock order is scheduled on a reduced-speed processor.
摘要:
Event management in a non-stop debugging environment that includes a debugger configured to debug a multi-threaded debuggee, where encountering an event by one of the threads stops execution of only the one thread without concurrently stopping execution of other threads and event management includes: receiving, by the debugger, a user request to establish a dynamically disabled event that is disabled for all threads upon a stop in execution of any thread; establishing, by the debugger, the dynamically disabled event; identifying, by the debugger, a stop in execution of a particular thread; and disabling, by the debugger, the dynamically disabled event for all threads of the debuggee.
摘要:
In an embodiment, a current internal corrosion level at a current time is read from an internal corrosion sensor that is internal to a computer. An internal corrosion difference is calculated between the current internal corrosion level and a previous internal corrosion level. If the internal corrosion difference is more than a first threshold amount, a first action is performed that decreases an internal temperature of the computer.
摘要:
Embodiments of the invention include a method for setting snapshots in code. The method may occur during the debug of code and may include determining whether to place a snapshot instruction immediately before a machine instruction within a module. The determination may include analyzing parameters associated with the machine instruction.
摘要:
Inserting, at debuggee source code lines, a breakpoint and executing. For each breakpoint encounter until exiting: encountering and removing the breakpoint, incrementing a first counter value, and resuming execution. Exiting includes saving the first counter value, a state of the call stack, and an exit location. In a second debug session, preparing the debuggee to resume from the exit location. Inserting, at the debuggee source code lines, a breakpoint and executing the debuggee. For each breakpoint encounter until a second counter value matches the first: encountering and removing the breakpoint, incrementing the second counter value, and resuming execution. When the first and second counter values match: inserting an exit location breakpoint at the exit location, executing the debuggee until encountering the exit location breakpoint, and providing the user control to resume debugging from the exit location only if the present state of the call stack matches the saved state.
摘要:
A method, computer-readable storage medium, and computer system are provided. In an embodiment, a detection is made that at least one thread, in a plurality of threads executing in a computer, has hung. A lock order of a plurality of locks used by the plurality of threads is determined. A determination is made that a first thread in the plurality of threads violates the lock order. After the determination that the first thread violates the lock order, the computer is restarted and the first thread that violates the lock order is scheduled on a reduced-speed processor.