glasswalk3r has asked for the wisdom of the Perl Monks concerning the following question:

Greetings monks.

I've being experimenting problems when trying to debug an application that uses Win32::OLE and the MS SQL Server API for DTS.

I'm not sure if this is related to the amount of DTS objects created, but everytime the program tries to instantiate a new object (or several of them, if it's a collection) the Perl debugger just dies, with no error message. The program, on the other hand, can be executed without errors.

I could post some program code, but this issue happened more than once in several related programs I wrote, so maybe this a generic issue. Any monk had experimented such issue with Win32::OLE and the debugger?

Alceu Rodrigues de Freitas Junior
---------------------------------
"You have enemies? Good. That means you've stood up for something, sometime in your life." - Sir Winston Churchill

Replies are listed 'Best First'.
Re: Win32::OLE and Perl debugger issue
by jmcnamara (Monsignor) on Jan 24, 2007 at 20:33 UTC

    I've used the perl debugger with Win32::OLE programs without any problems.

    So I guess that you should probably post a sample program so that we can verify that there is an issue.

    --
    John.

      Alright, here it goes:

      The debugger dies when the method get_properties is invoked. As I said before, this error is not especific to this code. Looks like this issue happens depending on the amount of objects the program uses simultaneously.

      Here is more code regarding the get_properties method:

      The get_sibling method returns a DynamicPropertiesTask object, as specified in the MS SQL 8 DTS documentation. For each assignment fetched with the in function, a new object is instantied.

      I could try to create a iterator instead creating all assignments objects at once in the get_properties method, but this should be a performance enhancement, not a bug fix IMHO.

      I tried running the program using the debugger again just to be sure. A nice (?) window asking me to report the error to Microsoft is opened. The only useful information I could find in the details is the information below:

      AppName: perl.exe	 AppVer: 5.8.8.819	 ModName: ole.dll
      ModVer: 0.0.0.0	 Offset: 00001f98
      

      I never tried Win32::OLE to do more than writing some stuff in a MS Word document, so I cannot say this is an issue caused by Win32::OLE plus DTS API or only the Win32::OLE itself.

      Alceu Rodrigues de Freitas Junior
      ---------------------------------
      "You have enemies? Good. That means you've stood up for something, sometime in your life." - Sir Winston Churchill