[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
linux ddd problem
From: |
Michael Landry |
Subject: |
linux ddd problem |
Date: |
Mon, 11 Mar 2002 16:53:01 -0600 |
Josh,
The ddd/gdb error (gdb is at level gdb-5.0rh-15) is caused by the .C source
file (generated by lex) having #line statements. These are supposed to
redirect gdb to use the actual lex source .lex file instead of the lex
generated .C file, but it is not working. ddd stays with the wrong source
listing and positions at the wrong line when stepping through the code.
I have changed the lex call to use -L parameter which prevents the use of
the #line statements. This circumvents the ddd/gdb error.
The gdb manual states that #line statements are supported. I will report
the error but not actively pursue a fix at this time.
The .ddd log is attached.
(See attached file: log)
Mike Landry v2aicmll@us.ibm.com
CSP Test Dept 8XMS, 050-2-G104, IBM, Rochester, MN
(507) 253-5157 IBM T/L 8- 553-5157
WWW - http://w3.rchland.ibm.com/~v2aicmll
----- Forwarded by Michael Landry/Rochester/Contr/IBM on 03/11/02 11:48 AM
-----
Michael Landry
To: Joshua N
Poimboeuf/Austin/IBM@IBMUS
03/10/02 09:41 PM cc: Kirby
Bakken/Rochester/IBM@IBMUS, Tom Tran/Rochester/IBM@IBMUS
From: Michael
Landry/Rochester/Contr/IBM@IBMUS
Subject: linux ddd problem
Josh,
I am trying to use the ddd debugger to breakpoint in a lex generated
program. All goes well until I get to a switch statement. Then ddd is
unable to match the object to the source code until the switch case
completes. I singled stepped after the switch and ddd was thinking that
the program was executing inside a static array!
ddd goes bonkers at the switch:
do_action: /* This label is used only to access EOF actions. */
switch ( yy_act )
{ /* beginning of action switch */
case 1:
YY_RULE_SETUP
#line 166 "TcfScriptParser.lex"
{
#ifdef TCF_LEX_PRINT
strcpy(outstr, "Got comment: ");
strncat(outstr, yytext + 3, yyleng - 6);
strcat(outstr, "\n");
TcfDisplayMsg(outstr);
#endif
}
ddd jumps into the middle of below array but the program does not, as it
executes as expected (I fixed an error without ddd's help and the program
does work correctly. It just cannot be debugged using the ddd tool):
static yyconst short int yy_base[1539] =
{ 0,
0, 5, 10, 24, 20, 30, 43, 104, 165, 225,
38, 53, 60, 110, 126, 133, 285, 346, 141, 148,
233, 238, 302, 324, 175, 179, 407, 469, 531, 585,
360, 385, 639, 704, 194, 207, 769, 819, 261, 411,
869, 931, 447, 474, 497, 511, 553, 567, 592, 666,
278, 307, 201, 368, 2862, 5185, 45, 5185, 2833, 503,
5185, 2791, 974, 2786, 5185, 2772, 1, 14, 13, 15,
5185, 2746, 26, 429, 607, 30, 5185, 2717, 34, 45,
5185, 2709, 41, 43, 5185, 491, 574, 617, 2680, 58,
You told me before you were debugging the debugger. Do you know who would
be a good person to contact for ddd failures? Maybe I need to get a fix
package. I am running ddd at level GNU DDD-3.3-1. Compiled with GCC 2.96
2000073.
Thanks.
Mike Landry v2aicmll@us.ibm.com
CSP Test Dept 8XMS, 050-2-G104, IBM, Rochester, MN
(507) 253-5157 IBM T/L 8- 553-5157
WWW - http://w3.rchland.ibm.com/~v2aicmll
log
Description: Binary data
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- linux ddd problem,
Michael Landry <=