2015-12-22 8 views
5

मैंने ट्रेस "AKC! _invoke_watson" पाया जब मैंने WinDbg का उपयोग हमारे मुद्दे का विश्लेषण करने के लिए किया था। क्या आप कृपया मुझे यह बताने में मदद कर सकते हैं कि "_invoke_watson" क्या है? और कैसे पता चलेगा कि इस ट्रेस के आधार पर एकेसी ऐप का मूल कारण क्या है?WinDbg में _invoke_watson क्या है?

DEFAULT_BUCKET_ID: NULL_POINTER_READ_IN_CALL 

LAST_CONTROL_TRANSFER: from 00007ff713fe047e to 00007ff713fe03f4 

STACK_TEXT: 
00000000`0274efe0 00007ff7`13fe047e : 00000000`024a36d8 00000000`ce9f27b4 00000000`024a1ac0 00007ff7`13fe3162 : AKC!_invoke_watson+0x18 
00000000`0274f010 00007ff7`13fe0499 : 00000000`00000130 00000000`0274f190 00000000`ffffffff 00000000`0274f120 : AKC!_invalid_parameter+0x6e 
00000000`0274f050 00007ff7`13fe28a6 : 00000000`00000068 00000000`00000000 00000000`00000225 00000000`0000002a : AKC!_invalid_parameter_noinfo+0x19 
00000000`0274f090 00007ff7`13fdab91 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : AKC!_woutput_s_l+0xb42 
00000000`0274f5b0 00007ff7`13fdac52 : 00000000`024a36d8 00000000`00000409 00000000`00000000 00000000`00000000 : AKC!_vswprintf_helper+0x9d 
00000000`0274f620 00007ff7`13fdac9d : 00000000`024a34b0 00000000`00000000 00000000`00000000 00000000`00000000 : AKC!_vswprintf_s_l+0x42 
00000000`0274f660 00007ff7`13fd7885 : 00000000`0000003e 00000000`024a34b0 00000000`00000000 00000000`00000409 : AKC!vswprintf_s+0x11 
00000000`0274f6a0 00007ff7`13fd40a1 : 00000000`024a34b0 00000000`0274f730 00000000`024a3f90 00000000`024a1a70 : AKC!swprintf_s<260>+0x25 
00000000`0274f6d0 00007ff7`13fd48b6 : 00000000`00000026 00000000`024a34b0 00000000`024a34b0 00007ff7`13ff0550 : AKC!Capture::initTag+0xf1 
00000000`0274f980 00007ff7`13fd345e : 00000000`00000000 00000000`024a34b0 00000000`00000026 00000000`000000c8 : AKC!Capture::funcShow+0x56 
00000000`0274f9b0 00007ffc`21e815dd : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : AKC!Capture::Loop+0x50e 
00000000`0274fa50 00007ffc`229d43d1 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : kernel32!BaseThreadInitThunk+0xd 
00000000`0274fa80 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : ntdll!RtlUserThreadStart+0x1d 


FOLLOWUP_IP: 
AKC!_invoke_watson+18 [f:\dd\vctools\crt_bld\self_64_amd64\crt\src\invarg.c @ 156] 
00007ff7`13fe03f4 ff159ebe0000 call qword ptr [AKC!_imp_GetCurrentProcess (00007ff7`13fec298)] 

FAULTING_SOURCE_LINE: f:\dd\vctools\crt_bld\self_64_amd64\crt\src\invarg.c 

FAULTING_SOURCE_FILE: f:\dd\vctools\crt_bld\self_64_amd64\crt\src\invarg.c 

FAULTING_SOURCE_LINE_NUMBER: 156 

FAULTING_SOURCE_CODE: 
No source found for 'f:\dd\vctools\crt_bld\self_64_amd64\crt\src\invarg.c' 


SYMBOL_STACK_INDEX: 0 

SYMBOL_NAME: akc!_invoke_watson+18 

उत्तर

10

_invoke_watson() एक आंतरिक माइक्रोसॉफ्ट सी क्रम समारोह है कि अपने कार्यक्रम दुर्घटनाग्रस्त हो गया है। यह आपने इस मिनीडम्प को देखा है। आपको कुछ भी दिलचस्प नहीं बताता है, आपको यह देखने के लिए स्टैक ट्रेस देखना होगा कि यह वहां कैसे पहुंचा। मुसीबत शुरू हो गई थीं:

AKC!swprintf_s<260>+0x25 

नोट समारोह नाम के _s पोस्टफ़िक्स, यह swprintf की secure version (है)। यह सुनिश्चित करता है कि sprintf() बफर के अंत से पहले नहीं लिख सकता है। यह बफर के अंत से पहले लिखता है, यही कारण है कि दुर्घटनाग्रस्त हो गई। आप टेम्पलेट नाम, 260 वर्णों से बफर आकार भी देख सकते हैं।

यह विंडोज़ में एक जादू संख्या है, यह MAX_PATH का मान है। कार्यक्रम को दुर्घटनाग्रस्त होने के कारण आपको एक बहुत अच्छा सिद्धांत प्रदान करता है, शायद इसे एक फ़ाइल नाम से निपटने के लिए कहा गया था जिसमें 25 9 से अधिक वर्ण हैं। असामान्य नहीं है, सामान्य रूप से सी और सी ++ प्रोग्रामों में विंडोज़ पर फ़ाइल सिस्टम से निपटने में बहुत मुश्किल समय होता है, जो 32,767 वर्णों के साथ पथ बनाने में सक्षम होते हैं। पृष्ठभूमि is here

यह सुनिश्चित करने के लिए कि यह सीमा पार नहीं हो गई है, ताकि आप बेहतर प्रदर्शन कर सकें, क्लाइंट को अपने डेटा को फिर से व्यवस्थित करने और गहन घोंसले वाली निर्देशिकाओं में फ़ाइलों को संग्रहीत करने से बचने के लिए एक बेहतर निदान दें, यह सबसे आसान कामकाज है।

+0

आपके उत्तर के लिए धन्यवाद। मुझे आपको बहुत धन्यवाद कहना अच्छा लगेगा। –

संबंधित मुद्दे