Help:About process terminated

Hello everyone,
there are some trouble with me when I debuged my routine. When it ran long
time after, it would terminated by signal sigsegv, and after the error
information, there are something just like this “0005:0034d0”, I do not know
what it’s means, maybe “0005” represent CS(code stack), and “0034d0” maybe
IP, but I really don’t it’s means.

And my question is that how can I affirm which function in my routine
occurred this error?

My OS is QNX4.24/4.25

Thanks a lot.

Maa

2004-09-16

“Maa” <maa_vip@sina.com> wrote in message news:cibbi4$go5$1@inn.qnx.com

Hello everyone,
there are some trouble with me when I debuged my routine. When it ran long
time after, it would terminated by signal sigsegv, and after the error
information, there are something just like this “0005:0034d0”, I do not
know
what it’s means, maybe “0005” represent CS(code stack), and “0034d0” maybe
IP, but I really don’t it’s means.

You guessed right. Use -M to let compiler build a map file. In it you
should find address of function.

Alternatively you could look at building a debug version of your program
(compiler option -g2) and use
dumper and wd to quickly pin point the problem.

And my question is that how can I affirm which function in my routine
occurred this error?

My OS is QNX4.24/4.25

Thanks a lot.

Maa

2004-09-16

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 ?

Maa
2004-09-18
“Mario Charest” <nowheretobefound@8thdimension.com> дÈëÏûÏ¢
news:cibugg$2l3$1@inn.qnx.com

“Maa” <> maa_vip@sina.com> > wrote in message news:cibbi4$go5$> 1@inn.qnx.com> …
Hello everyone,
there are some trouble with me when I debuged my routine. When it ran
long
time after, it would terminated by signal sigsegv, and after the error
information, there are something just like this “0005:0034d0”, I do not
know
what it’s means, maybe “0005” represent CS(code stack), and “0034d0”
maybe
IP, but I really don’t it’s means.

You guessed right. Use -M to let compiler build a map file. In it you
should find address of function.

Alternatively you could look at building a debug version of your program
(compiler option -g2) and use
dumper and wd to quickly pin point the problem.


And my question is that how can I affirm which function in my routine
occurred this error?

My OS is QNX4.24/4.25

Thanks a lot.

Maa

2004-09-16
\

“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_
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 :wink:

  • Mario

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 > :wink:

  • Mario


Please follow-up to newsgroup, rather than personal email.
David Gibbs
QNX Training Services
dagibbs@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”, and when my process
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. So I consider what does “0005:xxxxxxxx” mean, and how to find the
function exactly?

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 > :wink:

  • Mario




    Please follow-up to newsgroup, rather than personal email.
    David Gibbs
    QNX Training Services
    dagibbs@qnx.com

“David Gibbs” <dagibbs@qnx.com> wrote in message
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 –

Per segment are always ordered but data and code segment are intertwined.

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 > :wink:

  • Mario




    Please follow-up to newsgroup, rather than personal email.
    David Gibbs
    QNX Training Services
    dagibbs@qnx.com

“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 > :wink:

  • Mario




    Please follow-up to newsgroup, rather than personal email.
    David Gibbs
    QNX Training Services
    dagibbs@qnx.com

Dear Mario,

I had mailed the map file to your email(nowheretobefound@8thdimension.com),
and because of it’s secret, I am so sorry that I can not post it here.

Maa
2004-09-20

“Mario Charest” <nowheretobefound@8thdimension.com> дÈëÏûÏ¢
news:cimhqu$5hs$1@inn.qnx.com

“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 > :wink:

  • Mario




    Please follow-up to newsgroup, rather than personal email.
    David Gibbs
    QNX Training Services
    dagibbs@qnx.com
    \

Dear Mario,

I had heared from you, maybe it is my mistake that the error address does
not accord with the map, I am very sorry.

In my latest test, I found that, so I think I can sure that it’s my mistake,
sorry.

Maa
2004-09-23

“Mario Charest” <nowheretobefound@8thdimension.com> wrote in message
news:cimhir$596$1@inn.qnx.com

“David Gibbs” <> dagibbs@qnx.com> > wrote in message
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 –


Per segment are always ordered but data and code segment are intertwined.

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 > :wink:

  • Mario




    Please follow-up to newsgroup, rather than personal email.
    David Gibbs
    QNX Training Services
    dagibbs@qnx.com

“Maa” <maa_vip@sina.com> wrote in message news:ciu3rm$1g9$1@inn.qnx.com

Dear Mario,

I had heared from you, maybe it is my mistake that the error address does
not accord with the map, I am very sorry.

I replied your email, did you get it?

In my latest test, I found that, so I think I can sure that it’s my
mistake,
sorry.

Maa
2004-09-23

“Mario Charest” <> nowheretobefound@8thdimension.com> > wrote in message
news:cimhir$596$> 1@inn.qnx.com> …

“David Gibbs” <> dagibbs@qnx.com> > wrote in message
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 –


Per segment are always ordered but data and code segment are intertwined.

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 > :wink:

  • Mario




    Please follow-up to newsgroup, rather than personal email.
    David Gibbs
    QNX Training Services
    dagibbs@qnx.com
    \

Yes of cause Mario, I had get your mail, and thanks :wink:
Maa
2004-09-24
“Mario Charest” <nowheretobefound@8thdimension.com> wrote in message
news:civp97$9c4$1@inn.qnx.com

“Maa” <> maa_vip@sina.com> > wrote in message news:ciu3rm$1g9$> 1@inn.qnx.com> …
Dear Mario,

I had heared from you, maybe it is my mistake that the error address
does
not accord with the map, I am very sorry.

I replied your email, did you get it?


In my latest test, I found that, so I think I can sure that it’s my
mistake,
sorry.

Maa
2004-09-23

“Mario Charest” <> nowheretobefound@8thdimension.com> > wrote in message
news:cimhir$596$> 1@inn.qnx.com> …

“David Gibbs” <> dagibbs@qnx.com> > wrote in message
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 –


Per segment are always ordered but data and code segment are
intertwined.

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 > :wink:

  • Mario




    Please follow-up to newsgroup, rather than personal email.
    David Gibbs
    QNX Training Services
    dagibbs@qnx.com


    \