A.M. Hoornweg 144 Posted May 4, 2021 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? Share this post Link to post
Lars Fosdal 1792 Posted May 5, 2021 Perhaps @David Millington has a tip? Share this post Link to post
Guest Posted May 5, 2021 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
A.M. Hoornweg 144 Posted May 6, 2021 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. Share this post Link to post
Alex7691 7 Posted May 11, 2021 (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 May 11, 2021 by Alex7691 Share this post Link to post