สมมติว่าในรหัสของฉันฉันใช้สิ่งนี้
int iLen = 0;
char *sTmpStr;
strcpy(sTmpStr, "abc");
ตอนนี้ฉันยังไม่ได้จัดสรรที่อยู่ใด ๆ ให้กับตัวชี้ มีตัวเลือกใด ๆ ใน gcc ที่จะแสดงข้อผิดพลาดนี้หรือไม่
ฉันพยายามปรับให้เหมาะสมแล้ว แต่ไม่ได้ทำให้เกิดข้อผิดพลาดนี้
ฉันลอง -fsanitize=address แล้ว แต่เกิดข้อผิดพลาดขณะรันไทม์เช่นนี้
==1982== ข้อผิดพลาด: AddressSanitizer: SEGV บนที่อยู่ที่ไม่รู้จัก 0x000000c38299 (พีซี 0x7f78d7b685b0 sp 0x7ffd8918a0b0 bp 0x7f78d7d7a668 T0)
หรือมีวิธีใดที่ฉันสามารถเขียน o/p นี้ลงในไฟล์ได้
clang
กับ--analyze
เพื่อรับFunction call argument is an uninitialized value
: stackoverflow.com/q/27063678/390913 - person perreal   schedule 21.08.2015sTmpStr
คอมไพเลอร์แฟล็ก - วอลล์ควรทำงานได้ - person Jabberwocky   schedule 21.08.2015