Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
Home
Discussion Groups
General
GeneralPortable MacsHardwareNetworking
Applications
Mac ApplicationsEudoraFirefox / MozillaInternet ExplorerOutlook ExpressMS OfficeEntourageExcelPowerPointWordVirtual PCMedia PlayerOther MS Products
Programming
Mac ProgrammingCodeWarriorPerl
Country Specific
Australian Mac GroupUK Mac Group

Mac Forum / Programming / CodeWarrior / September 2005



Tip: Looking for answers? Try searching our database.

No source visible in debugger

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
George Touchstone - 13 Jul 2005 16:49 GMT
I'm working on an InDesign plugin using CW9.5 in MacOS 10.3.9. I have a
breakpoint set at the plugin initialization point. All sources have the
debug flag on. When I began the project with a modest number of
sources, the debugger would come up showing the source code for the
routine with the breakpoint. After adding a number of additional
modules, the debugger now comes up showing assembly instead. If I
recreate the project from scratch, the same  thing happens: with few
modules debugger shows source code, then when I pass some critical
point in total source (or complexity or whatever...) the debugger shows
only assembly. Taking a cue from other posts on this subject, I have
tried deleting the project data file, restarting CW, restarting the
Mac, all to no avail.

At the moment, I'm reduced to debugging with alerts and printf. Any
advice would be appreciated.

Thanks for your help,

George Touchstone
Sacramento Software Works
www.SacraSoft.com
Thomas Engelmeier - 14 Jul 2005 11:28 GMT
> routine with the breakpoint. After adding a number of additional
> modules, the debugger now comes up showing assembly instead. If I
> recreate the project from scratch, the same  thing happens: with few
> modules debugger shows source code, then when I pass some critical
> point in total source (or complexity or whatever...) the debugger shows
> only assembly.

[...]

> At the moment, I'm reduced to debugging with alerts and printf. Any
> advice would be appreciated.

IIRC Codewarrior has an internal limit / bug for the amount of symbol
data.

The following should be viable workarounds:

- turn off symbols (the Bug icon..) on already (unit-)tested classes

(I am not sure if you get basic "it happened in this routine"
information if just traceback tables are embedded into the Plug-In
coderesource via linker settings - in contrary to the .xSym file.
At least they can be read by your code e.g. to provide an stacktrace
when an exception occurs)

- refactor you Plug-In into multiple smaller pieces with less symbols.
In the end, you can still combine them into one pseudo-monolithic plugin

Regards,
  Tom_E

Signature

This address is valid in its unmodified form but expires soon.

MW Ron - 14 Jul 2005 17:59 GMT
>I'm working on an InDesign plugin using CW9.5 in MacOS 10.3.9. I have a
>breakpoint set at the plugin initialization point. All sources have the
[quoted text clipped - 17 lines]
>Sacramento Software Works
>www.SacraSoft.com

As Tom said we had a number of files limit and a number of symbolics
limit for the debugger.  I know we raised it but maybe you are hitting
it again.  

the curious part was you couldn't just turn off one or two files when
you hit the limit  you had to turn off generatiing debug information ona
whole lot of files to get it to work then you could add some back in
again.

If that isn't it, please let us know more.

Ron

Signature

CodeWarrior Community Forum is a free online resource for developers
to discuss CodeWarrior topics with other users and our staff
       --   http://www.codewarrior.com/community  --

Ron Liechty - MWRon@metrowerks.com - http://www.codewarrior.com

George Touchstone - 18 Jul 2005 17:54 GMT
In response to Ron's reply:
...we had a number of files limit and a number of symbolics
limit for the debugger.  I know we raised it but maybe you are hitting
it again.
...you couldn't just turn off one or two files when
you hit the limit  you had to turn off generatiing debug information
ona
whole lot of files to get it to work then you could add some back in
again....

I had previously tried turning off debugging on about half the sources
and that didn't help.

I "removed object code", turned off debugging on all sources, turned
debugging on in the entry point source and put a breakpoint there. It
worked. I then turned on debugging for about half the sources. That
also worked. Good enough for now.

Maybe you should raise the limit again. Or, better yet, rewrite so
three isn't a limit.

Also, perhaps the debugger could actually give us a clue as to why it's
not putting up source? I wasted a lot of time on this. As you may know,
the debugging version of InDesign takes several minutes to start up, so
trying this and that can be a huge time sink.

As always, thanks for your help,

George Touchstone
Sacramento Software Works
boga@mac.com - 19 Jul 2005 09:40 GMT
> In response to Ron's reply:
> ...we had a number of files limit and a number of symbolics
[quoted text clipped - 21 lines]
> the debugging version of InDesign takes several minutes to start up, so
> trying this and that can be a huge time sink.

I don't belive it's the limit thing. We have a huge application (debug
+ code together) = 150 MB.
We've also experienced similar effect (No source just assembly
displayed) with very small frameworks.
In fact adding more code to the framework made source reappear again in
the debugger.

Also we could debug the same framework when loaded into a little test
app, but cannot when loaded to our main app.

Regards,
Miklos
George Touchstone - 22 Jul 2005 03:18 GMT
...Good enough for now...

I spoke too soon. Now that I've added more features and actually have
to find a bug, all I get is assembly, even with only one module
selected for debugging.

Do you know how to actually reset this? Do I need to remove objects?
Delete the xSym file? Delete the project data folder?

What else can I try?

Is it possible you could provide an alternate build that handles more
symbols?

Again, Thanks for your help,

George Touchstone
Sacramento Software Works
MW Ron - 22 Jul 2005 16:43 GMT
>...Good enough for now...
>
[quoted text clipped - 14 lines]
>George Touchstone
>Sacramento Software Works

You should first try going to the global settings,  and purging the
debugger cache in the Debugger settings.

next trash the sym files (completely) from your system

Remove object code and research for files.

Be sure the sym information is being created (check in the bug column).

Be sure all optimizations are off  (including any processor optimization
and inlining)

if that doesn't work try trashing your data folder and re-searching for
files and rebuilding

if that doesn't work try trahsing the Metrowerks prefernces.

Ron

Signature

CodeWarrior Community Forum is a free online resource for developers
to discuss CodeWarrior topics with other users and our staff
       --   http://www.codewarrior.com/community  --

Ron Liechty - MWRon@metrowerks.com - http://www.codewarrior.com

George Touchstone - 09 Aug 2005 19:40 GMT
After a further email exchange with mwRon and trying a few more things,
I've come up with the following observations and a restatement of Ron's
suggestions.

MW says no-one at Adobe is complaining about this, but I have heard
from at least one other InDesign plugin developer reporting the same
problem and asking if I have further insight. That query prompted this
update to this NewsGroup thread.

I believe the c++ headers in the InDesign SDK create massive numbers of
symbols which in turn exceeds what MW thought was at the time a
reasonable limit. Which is in a way an object lesson to all of us about
making assumptions about "reasonable limits" in our code.

I am able to debug the sample plugins provided by Adobe in the SDK, and
I'm able to debug the smaller modules in my own project. However, in
some cases I've combined code from several sample plugins. This results
in more header includes that are typically found in the sample plugins.
It is these modules that appear only in assemply language in the
debugger.

I'm hoping CW10 addresses this.

How to deal with it for now:
  You have to very selectively enable debugging on a few modules.
  You have to minimize how many headers you include.
  Then you have to "reset" the debugger from time to time when it goes
over the limit.

How to "reset" the IDE/Debugger:

In Project settings, under Linker, be sure "Generate Sym File" is on

Be sure that the debug column is set for the files you want to debug

In IDE Preferences, Debugger, Global Settings:
  Purge the debugger cache

Remove object code
  Trash the sym file
  Empty the trash

If that doesn't work, something more dramatic:
  Go to
<YourOSXBootVol>/Users/<YourUserName>/Library/Preferences/Metrowerks,
     Delete "CW IDE 5.5 Prefs" (actual version may be newer)
     Delete "CW Debugging Cache"

Good luck, and thanks again to Ron for his help,

George Touchstone
Sacramento Software Works
www.SacraSoft.com
George at SacraSoft dot com
Danny at META/DMA - 26 Sep 2005 18:06 GMT
I've been running into the exact same problem with debugging an Adobe
After Effects plugin -- that is, I can only see disassembly rather than
source code in the debugging window. I'm almost positive that this is a
CW 9.6 problem. It worked fine in 9.5, and I haven't touched my project
until after updating to 9.6, when I could no longer debug. It's a very
small project, so I don't think I've hit any kind of header limit.
Unfortunately, none of the tricks listed below help at all. My only
solution seems to be to revert to CW 9.5 (or XCode), unless anyone has
any other ideas. Anyone?

Thanks,

Danny Rosenberg
META/DMA

> After a further email exchange with mwRon and trying a few more things,
> I've come up with the following observations and a restatement of Ron's
[quoted text clipped - 50 lines]
> www.SacraSoft.com
> George at SacraSoft dot com
Ron L - 26 Sep 2005 22:29 GMT
I don't think 9.6 changed anything with debugging.  It seems to be
something on your end.  Make sure you aren't following some old file.
(that is make sure the file you are debugging is the only one and there
isn't an older version in the trash or somewhere).  Also be sure that
optimizations are not on in your plugin.

Ron

>I've been running into the exact same problem with debugging an Adobe
>After Effects plugin -- that is, I can only see disassembly rather than
[quoted text clipped - 65 lines]
>> www.SacraSoft.com
>> George at SacraSoft dot com

Signature

CodeWarrior Community Forum is a free online resource for developers
to discuss CodeWarrior topics with other users and our staff
       --   http://www.codewarrior.com/community  --

Ron Liechty - ron.liechty@freescale.com - http://www.codewarrior.com

Danny Rosenberg - 28 Sep 2005 01:24 GMT
Actually, I stumbled upon a solution. If I include a single "DebugStr"
call anywhere in the program, every source file shows up properly in
the debugger. Without it, all I get is assembly code.

Weird.

-- danny

> I don't think 9.6 changed anything with debugging.  It seems to be
> something on your end.  Make sure you aren't following some old file.
[quoted text clipped - 13 lines]
>> solution seems to be to revert to CW 9.5 (or XCode), unless anyone has
>> any other ideas. Anyone?
Ron L - 28 Sep 2005 18:15 GMT
>Actually, I stumbled upon a solution. If I include a single "DebugStr"
>call anywhere in the program, every source file shows up properly in
>the debugger. Without it, all I get is assembly code.

OK  I know about what is going on. We used to have to do this to ensure
a plugin was loaded for debugging too.

Ron

>Weird.
>
[quoted text clipped - 17 lines]
>>> solution seems to be to revert to CW 9.5 (or XCode), unless anyone has
>>> any other ideas. Anyone?

Signature

CodeWarrior Community Forum is a free online resource for developers
to discuss CodeWarrior topics with other users and our staff
       --   http://www.codewarrior.com/community  --

Ron Liechty - ron.liechty@freescale.com - http://www.codewarrior.com

 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.