Jump to content
A.M. Hoornweg

Debugging problem (multithreaded & Intraweb)

Recommended Posts

Hello all,

 

I'm trying to debug a multithreaded application that contains, among other things, the Intraweb framework.    I have the Parnassus Parallel debugger installed in my Delphi 10.4.2. Sydney IDE.

 

My problem:

whenever I try to set a breakpoint in a multithreaded piece of code of my own, the Delphi debugger immediately complains that it can't find the location of some Intraweb source file.  Of course it doesn't, because Intraweb doesn't come with source, so why is it asking?  The big problem is that this message is impossible to get rid of.  It just keeps coming again and again and I never even get the change to assign the correct thread affinity to my breakpoint. 

 

So... How the heck do I tell the Delphi debugger to not keep asking where the Intraweb sources are located?

debuggingproblem.png

Share this post


Link to post

Can you not just cancel that dialog?

 

Can i take this opportunity to be slight OT and deliver my last really bad debugging expirience.

I have created a new DB-aware control. Using all the tricks in the book.

At certain points this control produced an AV.

At all times, the debugger stopped an reported the AV when calling a function in the same class (so it looked like "Self" was destroyed) taking me out to trips regarding the DX Ribbon (wrong).

Then... i clicked on the madExcept callstack, more by mistake. I do not usually do that when running in "debug" mode, i have the debugger.

When doing that it showed me a place deeper in the call-stack with an actual logical problem!

And finally it dawned on me... damn, the stored TField object has been recreated, i knew that can happen...

Had the debugger stopped at the actual AV (that madExcept did, though i was too stressed of daft to realize) i would have forgotten this coding mistake in the 5 minutes it took to take are of it.

The debugger threw me off so i have testers/client end-users who have suffered (not much, but anyway).

It's mostly me who have suffered, having this "worry" in the back of my head.

 

Pfff.

Share this post


Link to post
17 hours ago, Dany Marmur said:

Can you not just cancel that dialog?

 

Unfortunately not, when I do that, the next dialog appears immediately for the next Intraweb unit (there are several hundred).

 

Debugging is just not do-able as long as this dialog keeps popping up.

  • Sad 1

Share this post


Link to post
Posted (edited)

Hi Arthur,

 

Indeed, IntraWeb DCUs are built with debug info ON. Mainly because the built-in exception logger (Based on Jedi's JCLDebug code) requires the debug information to create an human readable call stack).

 

Also, not sure how many IW developers add the source code to their build (or add them to the browsing path), but I believe it is a considerable number.

 

The ideal is to have 2 sets of DCUs but it would just explode the size of the setup. We are trying different approaches with the build script and setup program. I will have more information about it soon.

 

Unfortunately, Delphi doesn't have any option to filter out some units or paths from debugger. Personally I have other 3rd party libraries for other projects and it is painful to debug certain applications because of this.

 

Cheers,

Edited by Alex7691

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×