“Maa” <> maa@vip.sina.com> > wrote in message news:ciloii$fe9$> 1@inn.qnx.com> …
Dear David and Mario,
In my map info file, the file format do not like the format you provide
to
me,
in my map, it is just like that:
Address Symbol
======= ======
Module: startup.o(/App/startup.cpp)
0000c0e4 near xxxIpAddress::xxxIpAddress()
0000c0a0 near xxxIpAddress::xxxIpAddress( xxxIpAddress const near
& )
0000c058 xxxIpAddress near & near xxxIpAddress::operator =(
xxxIpAddress const near & )
…
and had not the code stack field such as “0005”,
the 00005: is not the stack, but rather the segment number.
You do know have such a segment number because your link with flat model
(the default I beleive)
terminated by signal SIGSEGV, it says that terminated in 0005:xxxxxxxx,
and
when I find the address xxxxxxxx in my map file, I find that the
corresponding function with the address xxxxxxxx, was never be called in
my
process.
All I can think of is that you think it was never called but probably was,
or you a missinterpreting the content of the map file.
So I consider what does “0005:xxxxxxxx” mean, and how to find the
function exactly?
Just disregard the 0005. If you’d like post the map file and the address,
maybe we will be able to tell.
Thanks a lot
Maa
2004-09-20
“David Gibbs” <> dagibbs@qnx.com> > дÈëÏûÏ¢
news:ciktid$q23$> 3@inn.qnx.com> …
Mario Charest <> nowheretobefound@8thdimension.com> > wrote:
“Maa” <> maa_vip@sina.com> > wrote in message
news:cigacm$ec7$> 1@inn.qnx.com> …
I know there are function address in my map file, and it’s address
represent
the IP field or other meaning. And how to parse the map file ?
Let says this is a section of your map file:
0005:00002990 constructor_hook_
0005:00002a98 destructor_hook_
0005:00002b00 set_hook_
Though, often, the map file isn’t completely ordered as this
example is – so it is often useful to pass the map file
through sort first.
-David
0005:00002c30s get_hook_
0005:00002cb8s free_hook_pid_
0005:00002d14 manage_hook_
That means function constructor_hook starts 0005:00002990 and ends
at
address 0005:00002a97.
If the IP you got from the SIGSEGV is 0005:00002b10, it means the
sigsegv
happend in function set_hook
because 0005:00002b10 is in between 0005:00002b00 (start of
set_hook)
and
0005:00002c2Fs .
Where exactly in the function it crash you cannot tell because the
…map
doesn’t give you enough information. It’s possible to figure it out
by
disassembing the object file, but that gets ugly > 
- Mario
–
Please follow-up to newsgroup, rather than personal email.
David Gibbs
QNX Training Services
dagibbs@qnx.com
\