Search Wiki:
Project Description
A fully featured visual debugger for MSBuild projects.

Supports stepping into task, targets and imported projects, running arbitrary MSBuild projects under debugger and breaking at arbitrary points, setting break points, viewing call stacks and read only views of Items and Properties in break mode.
Works well with CallTarget, MSBuild tasks and task/target batching.

Tested on on out-of-box VS2008 projects and the (super-complex) Microsoft Developer Division MSBuild based builds.

Getting started
  1. Head over to http://blogs.msdn.com/parthopdasto see screen shots
  2. Download the v1.alpha release & place MSBuildDebugger.exe and MSBuildDebugger.exe.config on your machine
  3. Launch the MSBuildDebugger.exe and open a project
  4. Use the following command & shortcut keys
    1. Ctrl.Shift.O - Open a project to debug
    2. Ctrl.O - Open an imported project or targets files to set break point
    3. F5 - Run the project under debugger
    4. F11 - Step into tasks, targets and imported projects
    5. F9 - Set break points on tasks and targets
Release Notes
  • Study the v1 feature set, v1 known issues and proposed v2 feature list in the sections below
  • For now play with the binaries and send me feedback at p a r t h a d @ m i c r o s o f t . c o m. Tell me about:
    • What features you want to see in v1
    • Bugs: hangs, crashes and irritations
    • Whether you think this is usefull or not
  • Source code will be released for community contribution/development with final v1 release (very soon)
v1 Release feature set
  • Project system
    • Open project
    • Open files
    • Ctrl.F support in editor
    • F1 opens up help
  • Environment
    • View the environment variables passed to MSBuild
    • Reset the environment variable passed to msbuild
  • Stepping
    • F11
    • F5
    • Break Execution
    • Current point of execution shown in yellow
    • Setp into Imported projects
  • Break Points
    • BP Window
    • double click take you to location
    • BP highlighted in red
    • F9
    • F5 breaks on BP
    • Delete break points
  • Call stack
    • view current call stack, usefull for CallTarget and MSBuild tasks
    • BP set on project
    • Debugger steps on project
    • double click take you to the stack frame
  • Output window
    • Trace of what is going on
    • Debugger messages (e.g. bp hit)
  • State View
    • RO properties view
    • RO items view
  • Verification
    • Can handle CallTarget, MSBuild, task & target batching
    • Debug OOB VS Projects
    • Debug DevDi* projects
    • Requires only .NET Framework 3.5 RTM (no VS2008 requried)
Known Issues in v1
  • Not a very jazzy UI
  • Stepping is done twice for empty XML nodes
  • F10 and Shift-F11 not supported yet
  • Cannot close project or files once they are opened
  • Random F9 behavior in remote corner cases
  • Random F11 behavior in remote corner cases
vNext wish list
  • Fix known issues
  • Jazzy WPF based shell (simillar to graphical PowerShell v2.0)
    • Make UI consistent with VS Debugger
  • Re-org and rewrite some selected parts of the code
  • Command Line version of the debugger
  • Visual Studio integration
  • Data break points
  • Properties and Items View improvements (make it RW, highlight changed ones, etc.)
  • Enable multiproc support- perf
  • Analyzer (Imported projects and Executable nodes views)
Last edited Mar 15 at 9:18 AM  by parthad, version 8
Comments
charlesjwilliams wrote  Dec 21 2007 at 3:26 PM  
Click on the MSBuildDebugger.application on the release page
Got message box with:

"Cannot download the application. The application is missing required files. Contact application vendor for assistance."

Pressed "Details..." button and the following was displayed:


PLATFORM VERSION INFO
Windows : 6.0.6000.0 (Win32NT)
Common Language Runtime : 2.0.50727.312
System.Deployment.dll : 2.0.50727.312 (rtmLHS.050727-3100)
mscorwks.dll : 2.0.50727.312 (rtmLHS.050727-3100)
dfdll.dll : 2.0.50727.312 (rtmLHS.050727-3100)
dfshim.dll : 2.0.50727.312 (rtmLHS.050727-3100)

SOURCES
Deployment url : file:///C:/ax/pgms/Clients/Windows/Client/MSBuildDebugger.application

IDENTITIES
Deployment Identity : MSBuildDebugger.application, Version=1.0.0.3, Culture=neutral, PublicKeyToken=ce6e3fc2e7466dbe, processorArchitecture=msil

APPLICATION SUMMARY
* Installable application.

ERROR SUMMARY
Below is a summary of the errors, details of these errors are listed later in the log.
* Activation of C:\ax\pgms\Clients\Windows\Client\MSBuildDebugger.application resulted in exception. Following failure messages were detected:
+ Downloading file:///C:/ax/pgms/Clients/Windows/Client/Application Files/MSBuildDebugger_1_0_0_3/MSBuildDebugger.exe.manifest did not succeed.
+ Could not find a part of the path 'C:\ax\pgms\Clients\Windows\Client\Application Files\MSBuildDebugger_1_0_0_3\MSBuildDebugger.exe.manifest'.
+ Could not find a part of the path 'C:\ax\pgms\Clients\Windows\Client\Application Files\MSBuildDebugger_1_0_0_3\MSBuildDebugger.exe.manifest'.
+ Could not find a part of the path 'C:\ax\pgms\Clients\Windows\Client\Application Files\MSBuildDebugger_1_0_0_3\MSBuildDebugger.exe.manifest'.

COMPONENT STORE TRANSACTION FAILURE SUMMARY
No transaction error was detected.

WARNINGS
There were no warnings during this operation.

OPERATION PROGRESS STATUS
* [12/21/2007 10:12:11 AM] : Activation of C:\ax\pgms\Clients\Windows\Client\MSBuildDebugger.application has started.
* [12/21/2007 10:12:12 AM] : Processing of deployment manifest has successfully completed.
* [12/21/2007 10:12:12 AM] : Installation of the application has started.

ERROR DETAILS
Following errors were detected during this operation.
* [12/21/2007 10:12:12 AM] System.Deployment.Application.DeploymentDownloadException (Unknown subtype)
- Downloading file:///C:/ax/pgms/Clients/Windows/Client/Application Files/MSBuildDebugger_1_0_0_3/MSBuildDebugger.exe.manifest did not succeed.
- Source: System.Deployment
- Stack trace:
at System.Deployment.Application.SystemNetDownloader.DownloadSingleFile(DownloadQueueItem next)
at System.Deployment.Application.SystemNetDownloader.DownloadAllFiles()
at System.Deployment.Application.FileDownloader.Download(SubscriptionState subState)
at System.Deployment.Application.DownloadManager.DownloadManifestAsRawFile(Uri& sourceUri, String targetPath, IDownloadNotification notification, DownloadOptions options, ServerInformation& serverInformation)
at System.Deployment.Application.DownloadManager.DownloadApplicationManifest(AssemblyManifest deploymentManifest, String targetDir, Uri deploymentUri, IDownloadNotification notification, DownloadOptions options, Uri& appSourceUri, String& appManifestPath)
at System.Deployment.Application.ApplicationActivator.DownloadApplication(SubscriptionState subState, ActivationDescription actDesc, Int64 transactionId, TempDirectory& downloadTemp)
at System.Deployment.Application.ApplicationActivator.InstallApplication(SubscriptionState subState, ActivationDescription actDesc)
at System.Deployment.Application.ApplicationActivator.PerformDeploymentActivation(Uri activationUri, Boolean isShortcut)
at System.Deployment.Application.ApplicationActivator.ActivateDeploymentWorker(Object state)
--- Inner Exception ---
System.Net.WebException
- Could not find a part of the path 'C:\ax\pgms\Clients\Windows\Client\Application Files\MSBuildDebugger_1_0_0_3\MSBuildDebugger.exe.manifest'.
- Source: System
- Stack trace:
at System.Net.FileWebRequest.EndGetResponse(IAsyncResult asyncResult)
at System.Net.FileWebRequest.GetResponse()
at System.Deployment.Application.SystemNetDownloader.DownloadSingleFile(DownloadQueueItem next)
--- Inner Exception ---
System.Net.WebException
- Could not find a part of the path 'C:\ax\pgms\Clients\Windows\Client\Application Files\MSBuildDebugger_1_0_0_3\MSBuildDebugger.exe.manifest'.
- Source: System
- Stack trace:
at System.Net.FileWebResponse..ctor(FileWebRequest request, Uri uri, FileAccess access, Boolean asyncHint)
at System.Net.FileWebRequest.GetResponseCallback(Object state)
--- Inner Exception ---
System.IO.DirectoryNotFoundException
- Could not find a part of the path 'C:\ax\pgms\Clients\Windows\Client\Application Files\MSBuildDebugger_1_0_0_3\MSBuildDebugger.exe.manifest'.
- Source: mscorlib
- Stack trace:
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, Boolean useAsync)
at System.Net.FileWebStream..ctor(FileWebRequest request, String path, FileMode mode, FileAccess access, FileShare sharing, Int32 length, Boolean async)
at System.Net.FileWebResponse..ctor(FileWebRequest request, Uri uri, FileAccess access, Boolean asyncHint)

COMPONENT STORE TRANSACTION DETAILS
No transaction information is available.

Jmacklin wrote  Dec 31 2007 at 8:06 PM  
I received the same error.
Updating my system via Windows Update fixed this.
I'm not sure if it was the WGA update or the .NET 2.0 patches, but afterwards I received a different error, telling me that System.Core v3.5 had to be in the GAC.
I installed .NET 3.5 Fx and I was able to run the application.

parthad wrote  Jan 3 at 4:01 PM  
Hi charlesjwilliams, were you able to get past the problem you mentioned?

As jmacklin noted, this app requires .NET Fx 3.5 to be installed? If your problem still persists, can you install .NETFx 3.5 and try again?

deffjay wrote  Mar 5 at 11:00 PM  
Hi there,

When I install the application, it tells me that the application has expired?! Any ideas?

parthad wrote  Mar 6 at 3:46 PM  
I have posted an updated copy on the release page. Please use that...

sebagomez wrote  Apr 29 at 2:57 PM  
I dwnloaded that one and it also expired...
BTW, I can't download the source code via Tortoise. What's the repository url?

JayFleming wrote  May 1 at 7:53 AM  
Expired here too....can we get a new upload, preferably one that doesn't auto-expire
???

djrsubscriptions wrote  May 3 at 3:05 AM  
Same here - love to have a play with this but can't due to expired version

Soernt wrote  May 11 at 3:23 PM  
Hi Partho,

I really would like to use your debugger, looks like a huge time saver.
Can you please make a version available that don't expires within the next two monthes?

Regards,

Sörnt

Soernt wrote  May 20 at 4:20 PM  
Hello Partho,

thank you very much for the updated version!

Regards,

Sörnt

thephoenics wrote  Jul 3 at 10:20 AM  
Hi Partho,
I have used the updated version of the application. It still gives me the same error :
"application has expired"
What is the problem?

Thanks & Regards,
Kiran

Updating...