[Search for users]
[Overall Top Noters]
[List of all Conferences]
[Download this site]
Title: | Digital Ladebug debugger |
|
Moderator: | TLE::LUCIA |
|
Created: | Fri Feb 28 1992 |
Last Modified: | Fri Jun 06 1997 |
Last Successful Update: | Fri Jun 06 1997 |
Number of topics: | 969 |
Total number of notes: | 3959 |
845.0. "Viewing enums fails for shared objects" by DECC::MJHANS (Matthew Hanselman, DEC C) Tue Feb 18 1997 14:42
This is a regression between 4.0-30 and 4.0-26 (i.e. worked for 4.0-26)
Viewing the enumerated variable "var" within foo() works fine for a
statically linked version of the program, but gives a stack trace for
the shared version.
- Matt
--------------------------------------------------------
// share.h
enum tag {zero, one};
--------------------------------------------------------
// share.cxx
#include "share.h"
extern tag var;
void foo()
{
var = one;
}
--------------------------------------------------------
// main.cxx
#include "share.h"
tag var = zero;
extern void foo();
main()
{
foo();
}
=========================================================================
non-shared version:
% cxx -g -O0 main.cxx share.cxx
% ladebug a.out
Welcome to the Ladebug Debugger Version 4.0-30
------------------
object file name: a.out
Reading symbolic information ...done
(ladebug) stop in foo
[#1: stop in void foo(void) ]
(ladebug) run
[1] stopped at [void foo(void):8 0x120002188]
8 var = one;
(ladebug) print var
zero
(ladebug)
=========================================================================
shared version:
% cxx -g -O0 -c share.cxx
% ld -expect_unresolved "*" -taso -o share.so -shared share.o -lots -lc
% cxx -g -O0 -taso -call_shared -rpath ./ main.cxx share.so
% ladebug a.out
Welcome to the Ladebug Debugger Version 4.0-30
------------------
object file name: a.out
Reading symbolic information ...done
(ladebug) stop in foo
[#1: stop in void foo(void) ]
(ladebug) run
[1] stopped at [void foo(void):8 0x6fff0b98]
8 var = one;
(ladebug) print var
Assertion failed: isComplete() src/libsrc/ladebug/symbol.C 2165
This is an unexpected condition and may indicate the presence of a defect.
If you wish to report this, please include the stack trace that follows.
Diagnostic stack trace ...
0x12383f8c
0x123842d0
0x1238ddd8
0x1244ea88
0x1244eb18
0x1244f160
0x1244ede4
0x1244f184
0x1244ede4
0x1244f160
0x1244ede4
0x1244f160
0x122af97c
0x122a2acc
0x12251c74
0x1221ac64
0x12206154
0x121f61d4
0x121f32dc
end of diagnostic stack trace.
(ladebug) [1] stopped at [void foo(void):8 0x6fff0b98]
8 var = one;
(ladebug)
T.R | Title | User | Personal Name | Date | Lines |
---|
845.1 | | TLE::MURRAY | Wanfang Murray | Mon Feb 24 1997 08:01 | 4 |
|
Thanks for the problem report. We will look into this.
Wanfang
|