This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Regarding gcc debugging


Hi,
I am trying to debug a C++ program with gdb on Linux
AS 2.1. when the program terminates,the destructor is
called and this destructor in turn calls the
un-initializer routine.After the Un-inilization
routine is over it does not give core dump.But then it
goes in main and gives core dump.

      ***************source code starts***********

void SmAgentExample::Sm_UnInit( )
{
    int iResult;

    printf("Value of pSmApiHandle inside Sm_UnInit is
%x\n",pSmApiHandle);

    if ( NULL != pSmApiHandle ) {

        Sm_Logout();
        //
        // UnInitialize the Agent API
        //
        // Return values:
        //      SM_AGENTAPI_SUCCESS
        //      SM_AGENTAPI_FAILURE
        //      SM_AGENTAPI_NOCONNECTION
        iResult = Sm_AgentApi_UnInit( &pSmApiHandle );
        if (SM_AGENTAPI_SUCCESS==iResult)
            printf (  "Agent Released\n" );
        else if (SM_AGENTAPI_FAILURE==iResult)
            printf ( "UnInitialzation Failed\n" );
        else if (SM_AGENTAPI_NOCONNECTION==iResult)
            printf ( "Timeout for server response!\n"
);
    }
        printf("I am here\n");
    login = 0;
}

SmAgentExample::~SmAgentExample()
{

    pSmApiHandle = NULL;
    printf("Inside destructor\n");
    Sm_AgentApi_FreeAttributes(iNumAttributes,
pAttributes);
    printf("Before Sm_UnInit function\n");
    Sm_UnInit( );
}

int main()
{
   .....
   .....
   while{
   switch(input)
   case 'q' :
          break;
  .......
   }
   a.Sm_UnInit( );
   printf ( "Done, thank you for Testing the API.\n"
);
   return 0;
}
     **************source code ends***********

     -------------output of gdb---------

FTP> q
Breakpoint 1, SmAgentExample::Sm_UnInit() (this=0x1)
at smagentexample.cpp:220
220     {
(gdb) s
0x0804a601 in main ()
(gdb) s
Single stepping until exit from function main, 
which has no line number information.
Value of pSmApiHandle inside Sm_UnInit is 8052728
Agent Released
I am here
Done, thank you for Testing the API.
Inside destructor
Before Sm_UnInit function

Breakpoint 1, SmAgentExample::Sm_UnInit()
(this=0xbffe5a50) at smagentexample.cpp:220
220     {
(gdb) s
0x0804a601 in main ()
(gdb) s
Single stepping until exit from function main, 
which has no line number information.
Value of pSmApiHandle inside Sm_UnInit is 0
I am here

Breakpoint 3, main () at smagentexample.cpp:778
778     }
(gdb) s
0x4021a727 in __libc_start_main () from /lib/libc.so.6
(gdb) s
Single stepping until exit from function
__libc_start_main, 
which has no line number information.

Program received signal SIGSEGV, Segmentation fault.
0x403c7112 in ?? (). When i gave bt command it gave:

(gdb) bt
#0  0x403c7112 in ?? ()
#1  0x4021a730 in __libc_start_main () from
/lib/libc.so.6

-------------output of gdb---------------------

Can anybody give any ptrs on this that why it is
dumping core. Thanks in advance.

Regards
Puneet


________________________________________________________________________
Yahoo! India Matrimony: Find your partner online.
Go to http://yahoo.shaadi.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]