Value printed by gdb does not consist with the right value


 
Thread Tools Search this Thread
Top Forums Programming Value printed by gdb does not consist with the right value
# 1  
Old 10-17-2011
Value printed by gdb does not consist with the right value

Hello, I find the value printed by gdb does not consist with the right value.The following is the output.
Code:
(gdb) 
7	    while ( ( optc = getopt(argc, argv, ":b:B:h" ) ) != -1 ) {
(gdb) 
8	        printf( "%c    %d    %s\n", optc, optind, optarg);
(gdb) 
B    5    1-2
7	    while ( ( optc = getopt(argc, argv, ":b:B:h" ) ) != -1 ) {
(gdb) p optind
$1 = 1
(gdb)

The optind printed on stdout is 5, however, it is 1 printed by gdb. What,s wrong?
my source file is:
Code:
#include <stdio.h>
#include <getopt.h>
void main( int argc, char** argv) {
    int i = 0;
    char optc = 0;
    i = 1;
    while ( ( optc = getopt(argc, argv, ":b:B:h" ) ) != -1 ) {
        printf( "%c    %d    %s\n", optc, optind, optarg);
    }

   if (optind < argc) {
       printf("non-option ARGV-elements: ");
       while (optind < argc)
           printf("%s ", argv[optind++]);
       printf("\n");
   }

}

Thanks!
# 2  
Old 10-17-2011
By the time you're printing it in gdb getopt() has been called again, which will change the value.
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

How to get " printed on command line?

Hey, Is there a way I can print " in a command line? When I type "echo "set variable = disco"".... This actually prints echo set variable = disco but I would like to print it out as --- echo "set variable = disco" Thanks, Satya (4 Replies)
Discussion started by: Indra2011
4 Replies

2. Shell Programming and Scripting

Value not getting printed outside loop

Hi all I'm using below code #!/bin/bash export fileclob cd /home/appsuser/dataload file='EG.mdd' chmod 777 $file dos2unix -ascii -k -q -o $file $file sed -e '${/^$/d}' $file cat $file | while read LINE do echo "line is" if then echo "line is $LINE" echo " " ... (10 Replies)
Discussion started by: Pratiksha Mehra
10 Replies

3. Shell Programming and Scripting

Variable value not getting printed

Hi, I ma trying to do this but don't know why it is not happening? $r1=10 for i in "1" "2" "3" "4"; do x=`eval echo $i`; echo r${x}; done output: r1 r2 r3 r4 also tried for i in "1" "2" "3" "4"; do x=`eval echo $i`; echo $r${x}; done output: 1 (2 Replies)
Discussion started by: abhi1988sri
2 Replies

4. Shell Programming and Scripting

Need to limit the status printed

Hi, I have the data set as below, 0221500612134|Nutro 30-35 lb. Dry Dg 3 of 10 08/29/13~ 0221503074850|Nutro 30-35 lb. Dry Dg 1 of 10 09/23/13~ 0221503499660|Blue Buff 24-30lb Dog F 1 of 10 02/26/13~ 0221503499660|Iams 15.5-20lb Dog Food 2 of 10 11/12/12~ 0221503499660|Nat Blnc 25-35lb Dog... (1 Reply)
Discussion started by: anandek
1 Replies

5. Shell Programming and Scripting

Need to build Shell Script to search content of a text file into a folder consist several files

Have to read one file say sourcefile containing several words and having another folder containing several files. Now read the first word of Sourcefile & search it into the folder consisting sevral files, and create another file with result. We hhave to pick the filename of the file in which... (3 Replies)
Discussion started by: mukesh.baranwal
3 Replies

6. UNIX for Dummies Questions & Answers

Messages printed in the shell

Hi, I would like to be able to return to the messages printed in the shell when a process is done, but I have no idea where to look for them. Done nohup script.sh (wd: ~/somesubdir) Can anyone give me a hint? Are these messages printed by bash? They're definitely not... (7 Replies)
Discussion started by: mregine
7 Replies

7. UNIX for Dummies Questions & Answers

how to check if a string consist of any space?

hi all how do i check if a string consist of any space by using shell script. i have the following code while test -z $string do //prompting for another string if string is length 0 done when i type "a b" it give me an error test: a: binary operator expected thanks (7 Replies)
Discussion started by: yang
7 Replies

8. UNIX for Dummies Questions & Answers

How to exclude files from printed results

Hello I have application that part of its command I can get list of files to the stout . with the path . like : ./blah/blah/foo.c ./blah11/blah11/foo11.c ./blah12/blah12/foo11.h now I will like to filter this result and for instance see the "*.h" file or the "*.c" file or only the files... (2 Replies)
Discussion started by: umen
2 Replies

9. UNIX for Advanced & Expert Users

lp - order of files printed

I have a shell script that is looping through a list of Postscript files to print. ls -1tr *.PS > print.lst ... PRINT_LIST=`cat print.lst` ... for DMFILE in $PRINT_LIST do lp -d $PRINTER_NAME -o legal $DMFILE ... done The files in print.lst are in the order that they should be... (2 Replies)
Discussion started by: mabrownawa
2 Replies
Login or Register to Ask a Question