Mono.Debugger.DebuggerConfiguration.GetModuleGroup C# (CSharp) Метод

GetModuleGroup() приватный Метод

private GetModuleGroup ( SymbolFile symfile ) : ModuleGroup
symfile SymbolFile
Результат ModuleGroup
        internal ModuleGroup GetModuleGroup(SymbolFile symfile)
        {
            foreach (ModuleGroup group in module_groups.Values) {
                if (group.Regexp == null)
                    continue;

                try {
                    if (Regex.IsMatch (symfile.FullName, group.Regexp))
                        return group;
                } catch {
                }
            }

            if (symfile.IsNative) {
                if (symfile.FullName.EndsWith ("/mono"))
                    return GetModuleGroup ("runtime");
                else if (symfile.HasDebuggingInfo)
                    return GetModuleGroup ("dll");
                else
                    return GetModuleGroup ("native");
            } else {
                string assembly_name = symfile.FullName;
                int pos = assembly_name.IndexOf (',');
                if (pos > 0)
                    assembly_name = assembly_name.Substring (0, pos);

                string[] corlib_assemblies = { "mscorlib", "System" };

                foreach (string name in corlib_assemblies) {
                    if (assembly_name == name)
                        return GetModuleGroup ("corlib");
                }

                return GetModuleGroup ("managed");
            }
        }

Same methods

DebuggerConfiguration::GetModuleGroup ( string name ) : ModuleGroup

Usage Example

Пример #1
0
        //
        // Session management.
        //

        internal void OnMainProcessCreated(Process process)
        {
            if (!process.IsManaged)
            {
                Config.GetModuleGroup("dll").StepInto    = true;
                Config.GetModuleGroup("native").StepInto = true;
            }

            main_process = process;
        }