コード例 #1
0
        public bool InitSymbolResolver(SymbolResolverContextInfo context)
        {
            symbolReader = new DefaultSymbolReader(context);
            contextInfo  = context;
            TraceEventNativeMethods.SymSetOptions(
                TraceEventNativeMethods.SymOptions.SYMOPT_DEBUG |
                TraceEventNativeMethods.SymOptions.SYMOPT_CASE_INSENSITIVE |
                // TraceEventNativeMethods.SymOptions.SYMOPT_DEFERRED_LOADS |
                //TraceEventNativeMethods.SymOptions.SYMOPT_LOAD_LINES |
                TraceEventNativeMethods.SymOptions.SYMOPT_EXACT_SYMBOLS |
                TraceEventNativeMethods.SymOptions.SYMOPT_UNDNAME // undecorated names
                );


            // for testing purpose
            Environment.SetEnvironmentVariable("_NT_SYMBOL_PATH", @"SRV*c:\websymbols*http://msdl.microsoft.com/download/symbols");

            bool bInit = TraceEventNativeMethods.SymInitializeW(contextInfo.currentProcessHandle, null, false);

            if (bInit)
            {
                registerCallback = new TraceEventNativeMethods.SymRegisterCallbackProc(SymRegisterCallbackProcInfo);
                TraceEventNativeMethods.SymRegisterCallbackW64(contextInfo.currentProcessHandle, registerCallback, 0);
            }
            return(bInit);
        }
コード例 #2
0
ファイル: SymbolResolver.cs プロジェクト: Evlikat/incinerate
        public bool InitSymbolResolver(SymbolResolverContextInfo context)
        {
            symbolReader = new DefaultSymbolReader(context);
            contextInfo = context;
            TraceEventNativeMethods.SymSetOptions(
                 TraceEventNativeMethods.SymOptions.SYMOPT_DEBUG |
                 TraceEventNativeMethods.SymOptions.SYMOPT_CASE_INSENSITIVE |
                // TraceEventNativeMethods.SymOptions.SYMOPT_DEFERRED_LOADS |
                //TraceEventNativeMethods.SymOptions.SYMOPT_LOAD_LINES |
                TraceEventNativeMethods.SymOptions.SYMOPT_EXACT_SYMBOLS |
                TraceEventNativeMethods.SymOptions.SYMOPT_UNDNAME // undecorated names
                );

            // for testing purpose
            Environment.SetEnvironmentVariable("_NT_SYMBOL_PATH", @"SRV*c:\websymbols*http://msdl.microsoft.com/download/symbols");

            bool bInit = TraceEventNativeMethods.SymInitializeW(contextInfo.currentProcessHandle, null, false);
            if (bInit)
            {
                registerCallback = new TraceEventNativeMethods.SymRegisterCallbackProc(SymRegisterCallbackProcInfo);
                TraceEventNativeMethods.SymRegisterCallbackW64(contextInfo.currentProcessHandle, registerCallback, 0);
            }
            return bInit;
        }