home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1993 #1 / NN_1993_1.iso / spool / gnu / gdb / bug / 1361 < prev    next >
Encoding:
Text File  |  1993-01-10  |  4.0 KB  |  128 lines

  1. Newsgroups: gnu.gdb.bug
  2. Path: sparky!uunet!cis.ohio-state.edu!cithe303.cithep.caltech.edu!walter
  3. From: walter@cithe303.cithep.caltech.edu (Chris Walter)
  4. Subject: Problems debugging g++ code on RS6000 with gdb4.7
  5. Message-ID: <9301102237.AA20734@cithe303.cithep.caltech.edu>
  6. Sender: gnulists@ai.mit.edu
  7. Organization: GNUs Not Usenet
  8. Distribution: gnu
  9. Date: Sun, 10 Jan 1993 06:37:21 GMT
  10. Approved: bug-gdb@prep.ai.mit.edu
  11. Lines: 115
  12.  
  13. Hello,
  14.  
  15. I've tried this question in comp.unix.aix and gnu.g++.help and have gotten
  16. no responses, I really hope someone here can help me.
  17.  
  18. First off I am running AIX3.2 on an RS6000.
  19. I am using gcc 2.3.2/libg++ 2.3
  20. I am using gdb 4.7
  21.  
  22. I am having problems debugging c++ programs with gdb4.7.
  23. gdb seems to work OK on small C programs compiled with gcc but I am
  24. having problems debugging C++ code compiled(-g of course) with g++.
  25.  
  26. I should mention that my sys-op says the RS6000 assembly patch(for gcc)  has
  27. been applied.  Here is an example of what happens when I try to load a
  28. executable:
  29. ------------------------------------------------------------------------
  30. cithe502:wfd > gdb 
  31. GDB is free software and you are welcome to
  32. distribute copies of it
  33.  under certain conditions; type "show copying" to see the conditions.
  34. There is absolutely no warranty for GDB; type "show warranty" for details.
  35. GDB 4.7, Copyright 1992 Free Software Foundation, Inc.
  36. (gdb) file monte
  37. Reading symbols from monte...GDB Error: `.bf' not found.
  38. GDB Error: `.bf' not found.
  39. done.
  40. (gdb)
  41. ------------------------------------------------------------------------
  42.  
  43. And here is the same thing for what is a simpler program:
  44.  
  45. ------------------------------------------------------------------------
  46. cithe502:flux > gdb
  47. GDB is free software and you are welcome to distribute copies of it
  48.  under certain conditions; type "show copying" to see the conditions.
  49. There is absolutely no warranty for GDB; type "show warranty" for details.
  50. GDB 4.7, Copyright 1992 Free Software Foundation, Inc.
  51. (gdb) file flux
  52. Reading symbols from flux...GDB Error: `.bf' not found.
  53. GDB Error: `.bf' not found.
  54.  
  55. Catastrophe in realloc: invalid storage ptr
  56. IOT trap (core dumped)
  57. cithe502:flux > 
  58. ------------------------------------------------------------------------
  59.  
  60. In addition, the first program, which it allows me to load, starts in the
  61. middle of the routine if I tell it to "break main".  It sets the
  62. breakpoint 17 lines down into routine.
  63.  
  64. Here is the source code for the second very simple program:
  65.  
  66. ************************************************************************
  67.  
  68. #include <iostream.h>
  69. #include <iomanip.h>
  70. #include <math.h>
  71.  
  72. const double E_BREAK = 2.0e6;
  73. const double K1 =      2.7e4;
  74. const double K2 =      4.3e6;
  75. const double GAMMA1 =  2.65;
  76. const double GAMMA2 =  3.00;
  77.  
  78.  
  79. /* This program produces a muon flux */
  80.  
  81. main ()
  82.  
  83. {
  84.  
  85.   double dN_dE;         /* number/m^2*s*sr*Gev */
  86.   double flux;
  87.   double energy;        /* in GeV */
  88.   double gamma;
  89.   double K;
  90.  
  91.   for (energy=1e5; energy<1e9; energy = energy*pow(10.0,1.0/10.0))
  92.     {
  93.       if (energy <= E_BREAK) {
  94.     dN_dE = K1*(1.0/(1-GAMMA1))*pow(E_BREAK,1.0-GAMMA1); 
  95.     dN_dE = dN_dE + K1*(1.0/(GAMMA1-1))*pow(energy,1.0-GAMMA1);
  96.     dN_dE = dN_dE + K2*(1.0/(GAMMA2-1))*pow(E_BREAK,1.0-GAMMA2);
  97.       }
  98.       else {    
  99.     dN_dE = K2*(1.0/(GAMMA2-1))*pow(energy,1.0-GAMMA2);
  100.       }
  101.  
  102.       flux  = dN_dE*72.0*12.0*PI*60.0*60.0*24.0*356.0 ;
  103.  
  104.       cout.setf(ios::scientific); 
  105.       cout << setprecision(3) << energy << " " << flux << endl;
  106.     }
  107. }
  108.  
  109. ************************************************************************
  110.  
  111. Also I'm not sure if this is relevant but I get the following warning
  112. message when I compile the above code -g:
  113.  
  114. cithe303:flux > g++ -lm -g -oflux flux.cc
  115. /usr/local/lib/g++-include/iomanip.h: In function `class smanip<int> setbase (int)':
  116. In file included from flux.cc:2:
  117. /usr/local/lib/g++-include/iomanip.h:141: warning: dbx info for template class methods not yet supported
  118. cithe303:flux > 
  119.  
  120. ************************************************************************
  121. Any suggestions would be most appreciated!
  122.  
  123. -Chris Walter
  124. walter@cithe501.cithep.caltech.edu
  125.  
  126.  
  127.  
  128.