Forum Discussion

blearyeye's avatar
blearyeye
Contributor
16 years ago

Script debugging doesn't work

Script debugging doesn't work on my TC 8 install.



- I'm using Vista.

- My user ID is in the admin group.

- http://www.automatedqa.com/support/viewarticle/8874/ says to install the Windows Script Debugger. However, the Script Debugger download page says that this is deprecated, and doesn't list it for Vista.

- HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{78A51822-51F4-11D0-8F20-00805F2CD064}\InprocServer32 contains a correct path to pdm.dll

- According to Process Explorer, pdm.dll library is loaded into the TestComplete process



So, what next?

10 Replies

  • pmartin66's avatar
    pmartin66
    Occasional Contributor
    BTW, I use it on Win7 Ultinmate, XP SP3, Server 2008 R2 (64bit only), etc.

  • Hi Bill,





    Some versions of the script debugger which are installed along with Visual Studio cannot be used to debug tests in TestComplete. The deprecated version of the script debugger is the latest stand-alone version available. It should work fine on Windows 7 and Vista machines. Install it and let me know whether the problem still persists.

  • Hi Bill,





    Do you have this folder on your machine?

    C:\Program Files\Common Files\Microsoft Shared\VS7DEBUG\





    If you do, rename it, install the script debugger once again, and let me know whether this helps. Please note that, if this helps, you will be unable to debug scripts in Visual Studio.
  • David & Alex, before I do this, I want to be sure that I won't break general debugging in VS 2010 (for instance, debugging C# programs). Presumably your suggestion affects things like Javascript debugging in VS, right? Since I'm not doing web-based programming right now, I can live with this. However, I'd need to know how to get VS script debugging back if I need it.



    Would it really be that hard for the TC team to fix this issue? As a prospective customer, I've spent a good deal of time working on this config issue when I could have been using the time learning the tool itself.

  • In the interest of moving forward, I went ahead and renamed C:\Program
    Files\Common Files\Microsoft Shared\VS7DEBUG\
     to C:\Program
    Files\Common Files\Microsoft Shared\VS7DEBUG_\
    and reinstalled scd10en.exe.
    I rebooted and restarted TC. Still no joy on debugging.



    I went back to http://www.automatedqa.com/support/viewarticle/8874/
    and checked the registry location for


         HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{78A51822-51F4-11D0-8F20-00805F2CD064}\InprocServer32


    It  is now


         C:\Users\leal\AppData\Local\Temp\WCU\Program
    Files\Common Files\Microsoft Shared\VS7Debug\pdm.dll


    I confirmed that the folder exists and ran regsvr32 on pdm.dll and also did mdm.exe /regserver. Still no debugging.


    At one point in all this, I saw that the value at


         HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{78A51822-51F4-11D0-8F20-00805F2CD064}\InprocServer32


    had shifted to c:\Windows\System32\pdm.dll. However, I wasn't able to reproduce this. When I reboot, it's at the first location (c:\Users\leal\ ...).


  • I left the computer for a few hours, and when I came back, the registry value was changed to

         C:\Windows\system32\pdm.dll

    So this is strange ... I have no idea how/when it happened.



    BUT ... debugging now works. My jaw dropped when I saw that. So ... what do I do now?

  • Hi Bill,





    These changes can break only script debugging in Visual Studio. General debugging is not affected by these modules.





    Microsoft Script Debugger by default installs its libraries to the C:\Windows\system32\ folder. The pdm.dll library can be reregistered by Visual Studio or Internet Explorer when they are launched since they can use this library as well. In this case, you can back up the pdm.dll library that is registered automatically and loaded into the TestComplete process and replace it with the library installed with Microsoft Script Debugger. You can find out exactly which instance of a library is loaded into a process using the Process Explorer tool.