Friday, November 28, 2008

Workflows general debugging issues

VisualStudio crashes while attaching the w3wp.exe process.
While trying to attach the w3wp.exe process related to workflow, visual studio will take more time during the attach process then it will crash and reopen because of some issues. I am not sure yet why the visual studio is crashing with out giving any error. But i was able to resolve the problem by selecting only the "WorkflowCode" option from the "Attach To" select button.

There are more than one w3wp.exe. which one i should use?
The other issue generally we face is there will be more than on w3wp.exe processes will be showing and it will be confusing which one we should choose. We need to select the process which is showing "Workflow" in the Type section. If none of the processes are displaying "Workflow" in the Type section then it means that the appropriate process is not running. We can't debug by attaching to other w3wp.exe processes.

Couldn't find the process to attach the worflow.
The correct w3wp.exe process to attach the workflow will be showing "Workflow" in the Type column. But some times this will not be displaying due to various reasons. If we want to get the process again in the Attach window , We need to start a workflow manually. Then, the process related to the workflow will be available.

BreakPoints specified in the code file will not work (will not be hit during debug mode).
After specifying the break points in the code, the break points will not be enabled to debug and it will be showing the error "No symbols have been loaded for this document". The issue will be happening because of the following general mistakes.
  • Correct version of the DLL is not deployed to GAC
  • Correct version of the file is not specified in the config files like workflow.xml
  • The Project is build again after the deploying the DLL to GAC
  • There are some modifications done in the code file after the deployment

There is one more issue happening while attaching the process. The break points will be still showing like they will not be hit. (with the "No symbols have been loaded for this document". warning). But if we start debugging after attaching the process with the above error, this error will disappear once the workflow started running and our break points will be hit.

No comments: