Bonjour à tous,
Je viens à vous car je rencontre un petit problème à laquelle je ne trouve ni explication, ni solution:
Je possède deux scripts dont l'un crée juste une variable en mémoire et me renvoie son adresse ainsi que son PID.
Terminal A:
Le second script à pour but de récupérer cette valeur en se liant au processus via la fonction ptrace (sys/ptrace.h).Address : 0x7ffd77bbb4bc
Valeur : 52
My process ID : 9199
Tout fonctionne merveilleusement bien lorsqu'il s'agit de récupérer un entier.
Terminal B:
Cependant lorsque je change mes types entiers en réels (float par exemple) dans les deux fonctions, la magie cesse d'opérer et je ne comprend pas pourquoi;Processus attaché !
Valeur : 52
Terminal A:
Terminal B:Address : 0x7ffe68f4e38c
Valeur : 5.20
My process ID : 9308
Je récupère mon nombre avec le code suivant:Processus attaché !
Valeur : 7562919813157224448.000000
Quelqu'un aurait-il l’amabilité m'expliquer d’où vient ce problème ? (Je précise que je suis pas un pro au cas ou).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 float a =ptrace(PTRACE_PEEKDATA,child,addr,NULL); printf("Valeur : %f\n",a);
Merci de votre aide.
Partager