는 내가 가진 -g 옵션 & 실행을 함께 컴파일 할 때 하나 개의 프로그램Valgrind의 오류 : 조건부 점프 또는 이동은 초기화되지 않은 값 (들)
#include <stdio.h>
int call(){
int x=25;
++x;
return x;
}
int main(){
int ptr;
ptr=call();
printf("%d",ptr);
return 0;
}
을 볼 수 Valgrind의이
==15469== 1 errors in context 1 of 8:
==15469== Conditional jump or move depends on uninitialised value(s)
==15469== at 0x546F83: _dl_relocate_object (in /lib/ld-2.12.90.so)
==15469== by 0x53E6CC: dl_main (in /lib/ld-2.12.90.so)
==15469== by 0x55094D: _dl_sysdep_start (in /lib/ld-2.12.90.so)
==15469== by 0x540222: _dl_start (in /lib/ld-2.12.90.so)
==15469== by 0x53B876: ??? (in /lib/ld-2.12.90.so)
==15469==
==15469==
==15469== 1 errors in context 2 of 8:
==15469== Conditional jump or move depends on uninitialised value(s)
==15469== at 0x546E01: _dl_relocate_object (in /lib/ld-2.12.90.so)
==15469== by 0x53E6CC: dl_main (in /lib/ld-2.12.90.so)
==15469== by 0x55094D: _dl_sysdep_start (in /lib/ld-2.12.90.so)
==15469== by 0x540222: _dl_start (in /lib/ld-2.12.90.so)
==15469== by 0x53B876: ??? (in /lib/ld-2.12.90.so)
==15469==
==15469==
==15469== 1 errors in context 3 of 8:
==15469== Conditional jump or move depends on uninitialised value(s)
==15469== at 0x546DF9: _dl_relocate_object (in /lib/ld-2.12.90.so)
==15469== by 0x53E6CC: dl_main (in /lib/ld-2.12.90.so)
==15469== by 0x55094D: _dl_sysdep_start (in /lib/ld-2.12.90.so)
==15469== by 0x540222: _dl_start (in /lib/ld-2.12.90.so)
==15469== by 0x53B876: ??? (in /lib/ld-2.12.90.so)
==15469==
==15469==
==15469== 1 errors in context 4 of 8:
==15469== Conditional jump or move depends on uninitialised value(s)
==15469== at 0x546E01: _dl_relocate_object (in /lib/ld-2.12.90.so)
==15469== by 0x53E7D9: dl_main (in /lib/ld-2.12.90.so)
==15469== by 0x55094D: _dl_sysdep_start (in /lib/ld-2.12.90.so)
==15469== by 0x540222: _dl_start (in /lib/ld-2.12.90.so)
==15469== by 0x53B876: ??? (in /lib/ld-2.12.90.so)
==15469==
==15469==
==15469== 1 errors in context 5 of 8:
==15469== Conditional jump or move depends on uninitialised value(s)
==15469== at 0x546DF9: _dl_relocate_object (in /lib/ld-2.12.90.so)
==15469== by 0x53E7D9: dl_main (in /lib/ld-2.12.90.so)
==15469== by 0x55094D: _dl_sysdep_start (in /lib/ld-2.12.90.so)
==15469== by 0x540222: _dl_start (in /lib/ld-2.12.90.so)
==15469== by 0x53B876: ??? (in /lib/ld-2.12.90.so)
==15469==
==15469==
==15469== 2 errors in context 6 of 8:
==15469== Conditional jump or move depends on uninitialised value(s)
==15469== at 0x546F83: _dl_relocate_object (in /lib/ld-2.12.90.so)
==15469== by 0x53E7D9: dl_main (in /lib/ld-2.12.90.so)
==15469== by 0x55094D: _dl_sysdep_start (in /lib/ld-2.12.90.so)
==15469== by 0x540222: _dl_start (in /lib/ld-2.12.90.so)
==15469== by 0x53B876: ??? (in /lib/ld-2.12.90.so)
==15469==
==15469==
==15469== 2 errors in context 7 of 8:
==15469== Conditional jump or move depends on uninitialised value(s)
==15469== at 0x547871: _dl_relocate_object (in /lib/ld-2.12.90.so)
==15469== by 0x53E7D9: dl_main (in /lib/ld-2.12.90.so)
==15469== by 0x55094D: _dl_sysdep_start (in /lib/ld-2.12.90.so)
==15469== by 0x540222: _dl_start (in /lib/ld-2.12.90.so)
==15469== by 0x53B876: ??? (in /lib/ld-2.12.90.so)
==15469==
==15469==
==15469== 4 errors in context 8 of 8:
==15469== Conditional jump or move depends on uninitialised value(s)
==15469== at 0x546F4D: _dl_relocate_object (in /lib/ld-2.12.90.so)
==15469== by 0x53E7D9: dl_main (in /lib/ld-2.12.90.so)
==15469== by 0x55094D: _dl_sysdep_start (in /lib/ld-2.12.90.so)
==15469== by 0x540222: _dl_start (in /lib/ld-2.12.90.so)
==15469== by 0x53B876: ??? (in /lib/ld-2.12.90.so)
==15469==
==15469== ERROR SUMMARY: 13 errors from 8 contexts (suppressed: 0 from 0)
을 보여줍니다에 따라 달라집니다
나는이 오류가 왜 나는지 모릅니다.
무엇을 의미합니까?
어떻게 제거 할 수 있습니까?
내 프로그램에 어떤 피해를 줄 수 있습니까?
이 오류는 내 자신의 코드에서 비롯된 것입니다. 그러면 내 코드에 해를 끼칠 것입니까? –
예, 버그의 징후 일 수 있습니다. 예를 들어, 다음과 같이 트리거합니다 :'int i; if (i) printf ("Hello world \ n");'. 그것은'i'가 초기화되지 않았기 때문에 정의되지 않은 동작입니다. – Thomas