हाय मैं और एक exe के लिए क्रैश डम्प संलग्न प्रतीकों है.लेकिन मैं इस त्रुटि हो रही है के लिए चेकसम सत्यापन में असमर्थ।exe
इसका कारण क्या होगा?
हाय मैं और एक exe के लिए क्रैश डम्प संलग्न प्रतीकों है.लेकिन मैं इस त्रुटि हो रही है के लिए चेकसम सत्यापन में असमर्थ।exe
इसका कारण क्या होगा?
Unable to verify checksum
उत्सर्जित होता है जब checksum in pe header isnt verifiable
से ऐसा हो सकता है, तो सवाल में exe संकलित किया गया था और इसे लिंक without using /RELEASE
लिंकर विकल्प
सामान्य परियोजना आधारित संकलन लिंक सेट इस विकल्प nmake/batfile आधारित संकलन इस स्विच को छोड़ सकते हैं और इस उत्पादन
a simple helloworld compiled and linked with and without /RELEASE
लिंकर विकल्प को जन्म दे सकता (pdb simpilicity और diffed to show the difference in timestamp and checksum
और एल oaded in windbg
और checksum warning is generated only for the exe with no checksum in pe header
जेनरेट नहीं)
सरल हैलो world.cpp सामग्री
testrelease:\>dir /b & type testrelease.cpp
testrelease.cpp
#include <stdio.h>
int main (void) {
printf("hello my relase\n");
return 0;
}
/विज्ञप्ति
testrelease:\>cl /nologo testrelease.cpp
testrelease.cpp
exe का नाम बदलने और/विज्ञप्ति
testrelease:\>ren testrelease.exe testrelease_norel.exe
testrelease:\>cl /nologo testrelease.cpp /link /release
testrelease.cpp
साथ साथ एक ही स्रोत संकलन के बिना संकलन
की तुलना दोनों व्यय
testrelease:\>fc /b testrelease.exe testrelease_norel.exe
Comparing files testrelease.exe and TESTRELEASE_NOREL.EXE
000000E0: D6 CE
00000130: A3 00
00000131: 95 00
00000132: 01 00
तुलना
testrelease:\>xxd -s +0x3c -l 1 testrelease.exe
000003c: d8 .
testrelease:\>xxd -s +0x3c -l 1 testrelease_norel.exe
000003c: d8 .
testrelease:\>echo d8 = NT_HEADER so e0 = TimeDateStamp and 130 = CheckSum
d8 = NT_HEADER so e0 = TimeDateStamp and 130 = CheckSum
windbg चेतावनी में दोनों व्यय लोड हो रहा है के उत्पादन का विश्लेषण करने चेकसम
testrelease:\>cdb -c ".reload /f ; q" testrelease.exe
.*** ERROR: Module load completed but symbols could not be loaded for image00400
testrelease:\>cdb -c ".reload /f ; q" testrelease_norel.exe
.*** WARNING: Unable to verify checksum for image00400000
*** ERROR: Module load completed but symbols could not be loaded for image004000
बिना केवल एक exe के लिए उत्पन्नno symbol header available
त्रुटि का अर्थ है exe was compiled without debug information
जब तक आप स्क्रैच से पुनः डिबग जानकारी में विशेषज्ञता के लिए बहुत कुछ है आप इसके बारे में ज्यादा नहीं कर सकते
दोनों निष्पादनयोग्य कि ऊपर संकलित त्रुटि उत्पन्न होगा क्योंकि मैं जानबूझकर नहीं बनाया है डिबग जानकारी
DBGHELP: image00400000 missing debug info. Searching for pdb anyway
DBGHELP: Can't use symbol server for image00400000.pdb - no header information available
यह एक कामयाब (.NET) निष्पादन योग्य या एक देशी एक है? –
निष्पादन योग्य .. मुझे एक और त्रुटि मिल रही है: abc.pdb के लिए प्रतीक सर्वर का उपयोग नहीं कर सकता - कोई हेडर जानकारी उपलब्ध नहीं है..क्या आप मुझे बता सकते हैं कि इसे कैसे हल करें? – mahan07