C
caffeine
Guest
Hey Zusammen !
Ich hab hier ein Problem mit objdump. Ich hab ein Programm geschrieben in C, relativ sinnloses Programm, der Grund war der, dass ich mir darin die Adressen der Variablen hab ausgeben lassen um dann mit objdump zu prüfen, ob sie richtig sind.Leider bekomme ich auf beiden Seiten jeweils eine andere Ausgabe und die manage von objdump hilft mir irgendwie nicht weiter.
Die Ausgabe des Programms ist diese:
Objdump sagt aber folgendes :
Hat jemand eine Idee wo das Problem liegt ?
Danke euch und frohes Neues, tanye
Ich hab hier ein Problem mit objdump. Ich hab ein Programm geschrieben in C, relativ sinnloses Programm, der Grund war der, dass ich mir darin die Adressen der Variablen hab ausgeben lassen um dann mit objdump zu prüfen, ob sie richtig sind.Leider bekomme ich auf beiden Seiten jeweils eine andere Ausgabe und die manage von objdump hilft mir irgendwie nicht weiter.
PHP:
#include <stdio.h>
#include <stdlib.h>
/*####################
Globale Variablen
####################*/
int glblVar;
int glblVar2=0;
int glblVar3=1;
/*####################
Globale Konstante
####################*/
const double glblConst=3.141592;
int main(int argc, char *argv[])
{
/*Eigentliches Programm*/
printf("\n#####TESTPROGRAMM GESTARTET!#####\n\nEs stehen folgende Werte zur Verfuegung:\n1.Globale Variable:%i\n2.Globale Variable:%i\n3.Globale Variable:%i\n4.Globale Konstante:%f\n",glblVar,glblVar2,glblVar3,glblConst);
printf("\n#####FAKULTAETEN BERECHNEN...#####\n1.Globale Variable:%i\n2.Globale Variable:%i\n3.Globale Variable:%i\n",fak(glblVar),fak(glblVar2),fak(glblVar3));
if(glblConst != (int) glblConst)
{
printf("4.Globale Konstante ist leider keine Ganzzahl!\n\n");
}
else
{
printf("4.Globale Variable:%i\n",fak(glblConst));
}
/*Addressen ausgeben*/
printf("\n#####ADRESSEN AUSGEBEN...#####\n1.Globale Variable:%p\n2.Globale Variable:%p\n3.Globale Variable:%p\n4.Globale Konstante:%p\n\n\t[Das Programm wurde beendet]\n\n",&glblVar,&glblVar2,&glblVar3,&glblConst);
return EXIT_SUCCESS;
}
/*####################
Fakultaet Rechner
####################*/
int fak(int n)
{
if(n == 0 || n == 1)
{
return 1;
}
else
{
return fak(n - 1) * n;
}
}
Die Ausgabe des Programms ist diese:
#####TESTPROGRAMM GESTARTET!#####
Es stehen folgende Werte zur Verfuegung:
1.Globale Variable:0
2.Globale Variable:0
3.Globale Variable:1
4.Globale Konstante:3.141592
#####FAKULTAETEN BERECHNEN...#####
1.Globale Variable:1
2.Globale Variable:1
3.Globale Variable:1
4.Globale Konstante ist leider keine Ganzzahl!
#####ADRESSEN AUSGEBEN...#####
1.Globale Variable:0x804992c
2.Globale Variable:0x8049928
3.Globale Variable:0x804991c
4.Globale Konstante:0x8048610
[Das Programm wurde beendet]
Objdump sagt aber folgendes :
obj: file format elf32-i386
Sections:
Idx Name Size VMA LMA File off Algn
0 .interp 00000013 08048114 08048114 00000114 2**0
CONTENTS, ALLOC, LOAD, READONLY, DATA
1 .note.ABI-tag 00000020 08048128 08048128 00000128 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
2 .note.gnu.build-id 00000024 08048148 08048148 00000148 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
3 .hash 0000002c 0804816c 0804816c 0000016c 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
4 .gnu.hash 00000020 08048198 08048198 00000198 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
5 .dynsym 00000060 080481b8 080481b8 000001b8 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
6 .dynstr 00000051 08048218 08048218 00000218 2**0
CONTENTS, ALLOC, LOAD, READONLY, DATA
7 .gnu.version 0000000c 0804826a 0804826a 0000026a 2**1
CONTENTS, ALLOC, LOAD, READONLY, DATA
8 .gnu.version_r 00000020 08048278 08048278 00000278 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
9 .rel.dyn 00000008 08048298 08048298 00000298 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
10 .rel.plt 00000020 080482a0 080482a0 000002a0 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
11 .init 00000030 080482c0 080482c0 000002c0 2**2
CONTENTS, ALLOC, LOAD, READONLY, CODE
12 .plt 00000050 080482f0 080482f0 000002f0 2**2
CONTENTS, ALLOC, LOAD, READONLY, CODE
13 .text 000002ac 08048340 08048340 00000340 2**4
CONTENTS, ALLOC, LOAD, READONLY, CODE
14 .fini 0000001c 080485ec 080485ec 000005ec 2**2
CONTENTS, ALLOC, LOAD, READONLY, CODE
15 .rodata 00000202 08048608 08048608 00000608 2**3
CONTENTS, ALLOC, LOAD, READONLY, DATA
16 .eh_frame 00000004 0804880c 0804880c 0000080c 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
17 .ctors 00000008 08049810 08049810 00000810 2**2
CONTENTS, ALLOC, LOAD, DATA
18 .dtors 00000008 08049818 08049818 00000818 2**2
CONTENTS, ALLOC, LOAD, DATA
19 .jcr 00000004 08049820 08049820 00000820 2**2
CONTENTS, ALLOC, LOAD, DATA
20 .dynamic 000000d0 08049824 08049824 00000824 2**2
CONTENTS, ALLOC, LOAD, DATA
21 .got 00000004 080498f4 080498f4 000008f4 2**2
CONTENTS, ALLOC, LOAD, DATA
22 .got.plt 0000001c 080498f8 080498f8 000008f8 2**2
CONTENTS, ALLOC, LOAD, DATA
23 .data 0000000c 08049914 08049914 00000914 2**2
CONTENTS, ALLOC, LOAD, DATA
24 .bss 00000010 08049920 08049920 00000920 2**2
ALLOC
25 .comment 0000001c 00000000 00000000 00000920 2**0
CONTENTS, READONLY
Hat jemand eine Idee wo das Problem liegt ?
Danke euch und frohes Neues, tanye