Menentukan Punca Ralat Nilai Yang Tidak Dimulakan
Mesej "lompat atau pergerakan bersyarat Valgrind bergantung pada nilai yang tidak dimulakan" boleh menjadi membingungkan satu, kerana ia hanya menunjukkan di mana nilai yang tidak dimulakan digunakan, bukan asalnya. Untuk menangani isu ini, pilihan berikut tersedia:
Soalan Lazim Valgrind menjelaskan lagi bahawa pelaporan yang tidak sabar-sabar bagi semua salinan nilai yang tidak dimulakan telah ditolak kerana kelaziman positif palsu dalam sah. program.
Contoh
Pertimbangkan coretan kod:
movespeed = stat.speedfactor * speedfac * currentbendfactor.val;
Jika speedfac ialah apungan yang tidak dimulakan, Valgrind mungkin tidak melaporkan ralat pada ini titik. Walau bagaimanapun, apabila nilai digunakan untuk cetakan, ralat akan dinaikkan. Tingkah laku ini mencerminkan dasar pelaporan Valgrind yang digariskan di atas.
Atas ialah kandungan terperinci Mengapa Valgrind Melaporkan Ralat \'Nilai Tidak Dimulakan\' Hanya Apabila Nilai Digunakan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!