Updates for Visual Studio 2008 SP1 debugging and breakpoints
InstallationThis update is for all versions of Visual Studio 2008 SP1 on both x86 and x64 computers. However, if you use Visual Studio 2008 Standard Edition on a 64-bit operating system, you must install the 64-bit Visual Studio 2008 SP1 Remote Debugger before you apply this update. For information about how to obtain the 64-bit Visual Studio 2008 SP1 Remote Debugger, visit the following Microsoft Web site:
Multi-process and multi-threaded debugger fixesNote The following descriptions refer to a hypothetical set of processes that are being debugged by a single instance of Visual Studio. When functions are referred, it is assumed that the functions are recursive or that the functions contain loops. These scenarios are not meant to reproduce the problem. Instead, they are provided to help explain the problem.
Breakpoints in parallelized loops are eventually ignored after multiple hitsBreakpoints put in loops or in recursive functions are not hit in all processes at each iteration. Frequently, some processes may pass through many iterations of a loop, ignoring the breakpoint, before a process is stopped. Consider the following scenario:
- You start debugging multiple processes. One of the processes that you are debugging is in a tight loop or it is a recursive function.
- You stop the main thread of the current process (the last process to hit the breakpoint), and then you continue to debug. You repeat this action for each process.
- You restart the threads for each process.
Stopping and starting threads causes breakpoints to be missedBreakpoints are hit, but they are not visible when you debug multiple processes in the Visual Studio debugger. Consider the following scenario in which you are debugging two processes, Process A and Process B.
- You set a breakpoint on both processes and start debugging. Both breakpoints will be hit.
- You stop the main thread of Process A, you select Process B, and then you press F11 to step into the command one time.
- You restart the main thread of Process A, and then you stop the main thread of Process B. Then, you press F11 to step into the command.
You notice that both processes are at the same line.
- You stop the main thread of Process A. No threads should be stopped at this point.
- Press F5 to continue.
Note If you remove the breakpoints after you press F5 to continue, the debugger runs until it is completed.
Visual Studio may crash when you debug multiple processes at the same timeVisual Studio Debugger may experience a deadlock when you start and then stop a thread and then run to the next breakpoint if multiple processes are being debugged. Consider the following scenario:
- You set breakpoints on three arbitrary variable declarations.
- You start debugging 16 processes.
- You break in to one of the processes, and then you stop its main thread.
- You press F5.
- You repeat steps 3 and 4 until all the processes have hit the breakpoint.
- You start the main threads of all the processes.
- For each process, you delete the first breakpoint, and then you press F5.
- For each process, you repeat steps 3 and 4. All processes should be at the second breakpoint.
- You press F5.
- For each process, you repeat steps 3 and 4.
Stepping over a disabled breakpoint when you debug a native application turns into a "go"You debug a native application in Visual Studio that contains a disabled breakpoint. When you step the debugger past the disabled breakpoint, the remaining steps are lost, and the application continues to run.
Stepping when you debug a managed multithreaded application can randomly turn into a "go"When you debug a multithreaded managed application, and you step into one thread while an event occurs with another thread, such as hitting a breakpoint, the step request is lost. And, the application continues to run.
Message Passing Interface (MPI) Debugger Fixes for Visual Studio Editions offering MPI-Plugin Support
Visual Studio crashes when you use the "Step Into" command to start an MPI programWhen you use the Step into command, or press F11, to debug multiple instances of an MPI process, Visual Studio crashes. Or, you receive the following error message:
Running the "Step Over" command while you are debugging multiple processes causes a deadlockIf you run the Step Over command while you are debugging multiple processes, Visual Studio crashes. Consider the following scenario:
- You open a multithreaded application.
- You set a breakpoint on a recursive function call.
- You debug two processes.
- You start debugging. The breakpoint is hit in the first process.
- You press F5. The breakpoint is hit on the second process.
- You stop the main thread of the first process.
- You run the Step Over command on the second process, and then you click Pause.
The operation cannot be completed because it is waiting for the first process. You click Pause to re-enter break mode. The debugger uses a green arrow to indicate the next statement process that it will run when it returns from the function.
- You add a breakpoint in the second process.
- You stop the first process, and then you press F5.
Breakpoint UI Fix
Disabled breakpoints are not visible after you install Visual Studio 2008 Service Pack 1If you disable a breakpoint, the breakpoint is no longer hit. Also, the breakpoint is hidden from the left-most editor channel. The disabled breakpoint still exists. It is displayed in the Breakpoints Tool window.
To download this hotfix from the MSDN Code Gallery, visit the following Microsoft Web site:
Note The MSDN Code Gallery displays the languages for which the hotfix is available. If you do not see your language listed, it is because the Code Gallery resource page is not available for that language.
Note If additional issues occur or if any troubleshooting is required, you might have to create a separate service request. The usual support costs will apply to additional support questions and issues that do not qualify for this specific hotfix. For a complete list of Microsoft Customer Service and Support telephone numbers or to create a separate service request, visit the following Microsoft Web site:
PrerequisitesYou must have Microsoft Visual Studio 2008 SP1 installed to apply this hotfix.
Restart requirementYou do not have to restart the computer after you apply this hotfix.
Hotfix replacement informationThis hotfix does not replace any other hotfixes.
File informationThe English version of this hotfix has the file attributes (or later file attributes) that are listed in the following table. The dates and times for these files are listed in Coordinated Universal Time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the Time Zone tab in the Date and Time item in Control Panel.
|File name||File version||File size||Date||Time||Platform|
Article ID: 957912 - Last Review: 02/04/2009 18:33:50 - Revision: 2.0
- kbsurveynew kbhotfixserver kbexpertiseadvanced kbqfe KB957912