Debugging SolidWorks – Part 1 (problems when running SW)
This article outlines the methods I use to debug SolidWorks whenever it starts behaving badly, i.e. crashing or hanging on a consistent basis. Of course you need to be able to replicate the crash / hang in order to track down the problem. I will attempt to place these methods in order of how I would proceed when diagnoising an issue. This article, part 1 focuses on SolidWorks crashes / hangs when running or opening the program (as opposed to install problems which will be covered in a later article).
Why might crashes or hangs occur?
There are a number of reasons SolidWorks might start crashing or hanging. What is very important is “when” did SW start behaving like this.
- Service Pack upgrade to SolidWorks
- Recent install of other Software
- Windows issues and Windows updates
- Network issues and congestion
- Use of SolidWorks Add-Ins or 3rd party software
- Anti-Virus software
Step 1 – Replicate the Issue ***
It is extremely important to narrow down the cause and timing of the crash as much as possible. There is nothing more difficult to analyse than “my computer is slow today” or “solidworks is crashing all the time”. While you replicate the crash, write down the scenario, what files you have open, what method are you doing. Try replicating the issue on different files. If a person can say “When I do XYZ, ABC happens” then is makes things a lot easier.
Step 2 – Disable all Add-Ins **
Open SolidWorks -> Tools -> Add-Ins and untick everything.
If you can’t open SolidWorks to disable Add-Ins
START -> run -> regedit -> Browse to HKEY_CURRENT_USER\Software\SolidWorks. Rename SolidWorks to SolidWorksOld and start SolidWorks. More specifically, the Add-Ins which are marked as for start-up are located in: HKEY_CURRENT_USER\Software\SolidWorks\Startup\Applications\ I always find that it is much safer to rename folders rather than deleting them.
Step 3 – Use Software OpenGL
Being a 3D CAD package, SolidWorks makes extremely heavy use of the graphics card. If you get “blue screens”, computer shutdowns / reboots, then you need to try enabling Software OpenGL. Even better, however takes a little longer, is to check and upgrade your graphics card drivers.
Open SolidWorks -> Make sure there are NO open Parts/Assemblies or Drawings -> Tools -> Options -> Performance -> Use Software OpenGL.
Step 4 – Plug out the Network Cable *
A lot of people store everything on the Network, and as such work directly off the network. Thus if SolidWorks hangs for a while, a quick test is to plug out the network cable. Note: this is not an ideal method. Its better to disable the Local Area Connection Adapter. But if SolidWorks starts responding immediately after been disconnected from the Network, things are looking up. See the step below for “Process Explorer”. If you have a SNL network license, it should be ok, as SW has a network timeout period. If its a PDM issue, then your going to have to do connectivity tests (separate debugging required).
Step 5 – Research the SolidWorks Knowledge Base ****
It is essential for you to search the SolidWorks Knowledge Base for keywords describing what you are doing to cause the crash. It may be a Vista specific issue. It may be a 3rd party software issue. It is vital at this stage that you consult the KB to see if there have been similar issues. You will also need to know what version of SW you are using, and what Service Pack version you have installed -> Open SolidWorks -> Help (drop-down) -> About SolidWorks.
Step 6 – Log on as a Different User ***
The three stars in the heading shows that this is an excellent step to try. A user’s profile may become corrupt or have poor settings etc. Logging onto the computer as a different user, and starting SW will provide a new SolidWorks user profile. If it works OK for this other user, then you should be well on the way to getting this fixed. If SW works fine for the other user, then you need to look into and do the following:
START -> run -> regedit -> Browse to HKEY_CURRENT_USER\Software\SolidWorks. Rename SolidWorks to SolidWorksOld and start SolidWorks. Then create a few parts and drawings and restart SolidWorks.
Step 7 – Consider upgrading to a later Service Pack (if available) *
While it might take 30-60 minutes to upgrade to the latest service pack, it is advised. It could save a lot of further work.
Step 8 – Try a “Repair of SolidWorks”
SolidWorks has a repair install option. To access this:
START -> Control Panel -> Add / Remove Programs -> (scroll down to) SolidWorks 2009 -> (right-click) Modify / Change
On the first screen of the SolidWorks Installation Manager, choose “Repair”. Note: This is not available on SolidWorks Installs done using an Administrative Install Image.
Step 9 – Process Explorer ****
This simple tool, which can be downloaded here (local mirror), requires no installation, and has solved a number of problems for me. Process Explorer can show what files SolidWorks opens on startup and throughout, all network activity associated with SW, processes called by SW and a host of other features. SLDWORKS.exe will show up in the top screen. Once it opens, double-left click on SLDWORKS to bring up a properties dialog, from here you can choose TCP/IP.
Step 9.1 – Process Monitor
Process Monitor is better that the above Process Explorer. You can apply a filter for processes running and then view network, disk, registry and process activity. You can save and open Events for later analysis. Download from Microsoft. Use the Process Name “sldworks.exe” to monitor SolidWorks.
Step 10 – SolidWorks User Forums & Google
Typically I look at the SolidWorks User forms at http://forum.solidworks.comaround now. Having said this, the search facility in the new forums has improved and should speed up things. Note: Make sure you login to be able to search!! As you will see in the image below, there are other users out there who have gone through similar problems. I remember finding out about an issue with logitec drivers and freezes in the graphics area.
Googling a particular issue or dll or file which may be suspect from the Process Explorer may yeild some results.
Step 11 – SolidWorks RX ***
SolidWorks RX is not only useful for recording a problem to send to your local VAR, it also has some very useful information which can help to track down what is happening. Go to -> START -> All Programs -> SolidWorks 2009 – SolidWorks 2009 SP4 -> SolidWorks Tools -> SolidWorks RX. More and more functionality is getting added to this tool which makes life very easy for diagnosing errors on other peoples computers. Some of the functionality RX has is as follows:
- SolidWorks Safe Mode Options!!
- Quick Diagnostics
- Problem Capture (which can record information from a previous crashed session of SW)
In the resulting Zip file given by the Problem Capture, take a look at the following files: swxJRNL.swj (a macro of a SW session) and SolidWorksPerformance.log (shows idle time, total running time etc.). There could be an entire post on RX (maybe will post one later if people are interested).
Step 12 – Windows Pre-Requesites .Net, C++ **
As the SolidWorks software is typically newer than Windows (XP is many years old at this stage), several Windows updates and pre-requesites are required for SolidWorks to install and function correctly. For whatever reason, (AntiVirus etc.) certain dlls or pre-requesites may not get installed during the install or upgrade of SolidWorks. Whats more frustrating is that no immediate error might appear. Instead an error or “strange behaviour” may occur when using SolidWorks.
Windows Pre-Requesites must be installed manually when using an Administrative Image install method! Check if the install is created using an Administrative Image ( Add / Remove Programs -> Change/Modify SolidWorks. When SLDIM starts, if the only option is to Remove, its an Admin install image ). I’ve had quite a few headaches caused by incorrectly deployed Admin Images.
Of course all these details are in the “SolidWorks Installation and Administration Guide” which we all read, don’t we? ( SolidWorks 2009 Installation and Administration Guide ) On the previous page, go to: Multiple Installations -> Installation -> Deploying Installations to Clients -> Command Line Deployment -> Preparing Clients for Administrative Images.
If you “browse” your SolidWorks DVD you will find a “PreReqs” folder. Take a look at S-034736 on the SolidWorks Knowledge Base for further information. XP is more likely to require these updates, opposed to Vista.
Step 13 – Complete Un-install and Clean Install ***
I will leave this for another blog post. Suffice to say:
- Add / Remove Programs and Remove SolidWorks
- Delete all folders and traces of SolidWorks from C:\Program Files\; C:\Program Files\Common Files; C:\SolidWorks Data;
- START -> RUN -> regedit and remove all traces of SolidWorks under HKEY_CurrentUser and HKEY_LocalMachine.
Of course the methods and procedures to debug SolidWorks are endless. Above are some of the ones I use. I do recommend that Windows does be wiped and installed a fresh. Everyone I have talked to agrees that reinstalling windows breaths new life into a computer. A combination of Windows updates, redundant software, excess software and plugins cause a pool of potential problems. Also, make sure to contact your local SolidWorks VAR and let them know of your issues. They will know the most common issues for particular service packs and versions and will be immediately poised to help you quickly resolve any issue.
Feel free to leave any comments below.