DSPRelated.com
Forums

source code doesn't display in debugger

Started by Robert K Yu May 17, 2001
hi everyone,

I am using VisualDSP Debugger 4.0.1.0. I've written and compiled
some C source code in directory A, then linked and built the .dxe
file in directory B. The code is compiled with the -g and -save-temps
flags.

When I manually start the debugger from the Start button
(as opposed to starting it from the VisualDSP environment) and
load the .dxe file, the source file doesn't appear. When I select
View->Debug->Source, the debugger says "There's no source information
for the current PC."

my questions:
1. does this problem occur because of my directory structure, i.e.
the directory containing the .c and .doj files is different
from the directory containing the .dxe?

2. is there a way to point the debugger to the source code files,
or any other workaround?

-Snewdl



On Thu, 17 May 2001 20:54:02 -0000, Robert K Yu wrote:

> I am using VisualDSP Debugger 4.0.1.0.

That's pretty ancient now. 4.1 was much better than 4.0, and C++ 1.0 is
much better than 4.1. 4.0 should be considered alpha-quality software,
rather brittle to use.

> 1. does this problem occur because of my directory structure, i.e.
> the directory containing the .c and .doj files is different
> from the directory containing the .dxe?

Possible, but the ELF file (.dxe) has the paths to the sources
embedded, at least in the latest version (C++ 1.0), so the debugger
should be able to find them.

> 2. is there a way to point the debugger to the source code files,
> or any other workaround?

The current debugger will offer to let you browse your directory tree
if it can't initially find the source where the ELF file claims it to
be. It's possible the 4.0 tools didn't have this.



The only time I've had this is when I forgot to select the "add debug
information" flag in the build switches. (I'm using Visual DSP 7.0 but
essentially the same thing)
I didn't think it mattered where you ran the code from so long as you didn't
move the source files from their original position when you compiled the
code.

Try going back a step and compile a simple "main" routine which does nothing
more than add two numbers. Keep it really simple until you've resolved this
problem then go back to your main code.
Try building the code in the same directory as the source. This will answer
your question for yourself.

I'm sure it's just a compiler/linker switch issue.

Pete

----- Original Message -----
From: Robert K Yu <>
To: <>
Sent: Thursday, May 17, 2001 9:54 PM
Subject: [adsp] source code doesn't display in debugger > hi everyone,
>
> I am using VisualDSP Debugger 4.0.1.0. I've written and compiled
> some C source code in directory A, then linked and built the .dxe
> file in directory B. The code is compiled with the -g and -save-temps
> flags.
>
> When I manually start the debugger from the Start button
> (as opposed to starting it from the VisualDSP environment) and
> load the .dxe file, the source file doesn't appear. When I select
> View->Debug->Source, the debugger says "There's no source information
> for the current PC."
>
> my questions:
> 1. does this problem occur because of my directory structure, i.e.
> the directory containing the .c and .doj files is different
> from the directory containing the .dxe?
>
> 2. is there a way to point the debugger to the source code files,
> or any other workaround?
>
> -Snewdl >
> _____________________________________
> Note: If you do a simple "reply" with your email client, only the author
of this message will receive your answer. You need to do a "reply all" if
you want your answer to be distributed to the entire group.
>
> _____________________________________
> About this discussion group:
>
> To Join: Send an email to
>
> To Post: Send an email to
>
> To Leave: Send an email to
>
> Archives: http://groups.yahoo.com/group/adsp
>
> Other Groups: http://www.dsprelated.com/groups.php3 > ">http://docs.yahoo.com/info/terms/ >



thanks to everyone who replied.

The problem, as far as I can determine, is that the
debugger doesn't like it when main() is located in
an archive file (.dlb).

In other words, you can compile Hello.c with debug
info, link Hello.doj with debug info preserved, and
your souce code will appear in the debugger.

But if you add the extra step of archiving Hello.doj
into Hello.dlb and then building Hello.dxe from Hello.dlb,
the debugger will not display the source code.

This only seems to apply to main().

-Rob

--- In adsp@y..., "Robert K Yu" <snewdl@y...> wrote:
> hi everyone,
>
> I am using VisualDSP Debugger 4.0.1.0. I've written and compiled
> some C source code in directory A, then linked and built the .dxe
> file in directory B. The code is compiled with the -g and -save-
temps
> flags.
>
> When I manually start the debugger from the Start button
> (as opposed to starting it from the VisualDSP environment) and
> load the .dxe file, the source file doesn't appear. When I select
> View->Debug->Source, the debugger says "There's no source
information
> for the current PC."
>
> my questions:
> 1. does this problem occur because of my directory structure, i.e.
> the directory containing the .c and .doj files is different
> from the directory containing the .dxe?
>
> 2. is there a way to point the debugger to the source code files,
> or any other workaround?
>
> -Snewdl