Thanks for that Walter, I had no idea this was possible. 

However, what it has yielded doesn't help me much which is certainly 
down to my ignorance.  With your advice I got to the point where my 2nd 
instance of Delphi had gone into CPU eating mode but I'd hit no 
exceptions in the first.  When I hit Program Pause in the first Delphi 
it did indeed stop the second and presented me with the CPU window.  
Stepping through this I found that it was indeed in a tight loop (5051F9 
- 5052D8).  The bad news is that all I see there are a bunch of 
addresses and assembler (?)  - I don't know how to get from that to some 
Pascal source where I may have some hope of nailing the problem.

Any other suggestions will be equally gratefully received...

Dave
Walter Prins wrote:

>>I had assumed this may have been a problem specific to my PC
>>configuration but I'm now on a new machine and it's exactly the same -
>>both old and new machines are running XP-Pro.  The form that's causing
>>the problem is quite complex and has several 3rd party components on
>>it (XML-Partner, NexusDB, TNT, ImageEn...).
>>    
>>
>
>Do you have the source for these?  Oh yes, have you got all the updates 
>installed for D7?  If not it might be worthwhile to install these just in 
>case. (I seem to remember I had some strange ones with the original Delphi 7 
>release...)
>
>  
>
>>My question is not "what's causing my problem" as I realize this would
>>be impossible to answer, my question is: Can anyone suggest how I
>>might go about tracing the cause of the problem?
>>
>>This is driving me nuts so any help much appreciated...
>>    
>>
>
>I'd suspect something related to the third party components going south, but 
>anyway, as to tracing it:  I'd suggest making delphi debug itself when it 
>shuts down to help you track down what's eating the CPU (hopefully.) 
>Basically the same approach as you might use to debug design time 
>code/problems with delphi components you've written yourself (ie code which 
>only runs/depends on "design time" being true, thus requiring you to have 
>Delphi debug itself.)  The basic steps are like this:
>
>1. Open delphi, do File->Close all
>2. Go into Tools->Debugger->Language Exceptions and untick "Stop on Delphi 
>Exceptions"  This is just to avoid stopping on exceptions that will stop the 
>debugger during the second instance of delphi startup that you normally 
>never see as they're (obviously) handled/hidden in the background. (You can 
>also skip this step and continue clicking/F9'ing through exceptions during 
>the second instance startup)
>2. Go into Run->Parameters and on the Local tab, under "Host Application" 
>put C:\Program Files\Borland\Delphi7\Bin\delphi32.exe (you can browse to it 
>if you want.)
>3. Click "Load", this starts another instance of delphi, that is put under 
>control of the debugger of the first instance of delphi.
>4. Press F9 or click run if the new instance starts suspended (with a 
>debugger CPU window) to get it to continue starting.
>5. Once the second instance is up and running, use *it* and open your 
>project, and open hte problem form that causes the hang.
>6. On the original delphi, go back into Tools->Debugger->Language Exceptions 
>and tick "Stop on Delphi Exceptions"  This is so the first instance will 
>from now on stop when any exceptions are thrown (which you'd probably want 
>to know about.)
>7. Now, shut down the second instance.  If you run into exceptions, you 
>might want to investigate them using the firsts debugger (or ignore them as 
>appropriate and continue running. If the shutdown procceds to CPU eat land, 
>then use the "Program Pause" button (Run->Program Pause) to get the second 
>instance to stop, and start tracing with F7/F8, and use the call stack 
>window to try and see what code is sitting in a tight loop.
>
>Hope that helps...
>
>Walter 
>
>
>
>-----------------------------------------------------
>Home page: http://groups.yahoo.com/group/delphi-en/
>To unsubscribe: [EMAIL PROTECTED] 
>Yahoo! Groups Links
>
>
>
> 
>
>
>
>
>
>  
>



-----------------------------------------------------
Home page: http://groups.yahoo.com/group/delphi-en/
To unsubscribe: [EMAIL PROTECTED] 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/delphi-en/

<*> To unsubscribe from this group, send an email to:
    [EMAIL PROTECTED]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 



Reply via email to