Esempio n. 1
0
		internal static string GetFullName(StackFrame frame)
		{
			bool showArgumentNames = DebuggingOptions.Instance.ShowArgumentNames;
			bool showArgumentValues = DebuggingOptions.Instance.ShowArgumentValues;
			bool showLineNumber = DebuggingOptions.Instance.ShowLineNumbers;
			bool showModuleNames = DebuggingOptions.Instance.ShowModuleNames;
			
			StringBuilder name = new StringBuilder();
			name.Append(frame.MethodInfo.DeclaringType.FullName);
			name.Append('.');
			name.Append(frame.MethodInfo.Name);
			if (showArgumentNames || showArgumentValues) {
				name.Append("(");
				for (int i = 0; i < frame.ArgumentCount; i++) {
					string parameterName = null;
					string argValue = null;
					if (showArgumentNames) {
						try {
							parameterName = frame.MethodInfo.GetParameters()[i].Name;
						} catch { }
						if (parameterName == "") parameterName = null;
					}
					if (showArgumentValues) {
						try {
							argValue = frame.GetArgumentValue(i).AsString(100);
						} catch { }
					}
					if (parameterName != null && argValue != null) {
						name.Append(parameterName);
						name.Append("=");
						name.Append(argValue);
					}
					if (parameterName != null && argValue == null) {
						name.Append(parameterName);
					}
					if (parameterName == null && argValue != null) {
						name.Append(argValue);
					}
					if (parameterName == null && argValue == null) {
						name.Append(ResourceService.GetString("Global.NA"));
					}
					if (i < frame.ArgumentCount - 1) {
						name.Append(", ");
					}
				}
				name.Append(")");
			}
			
			return name.ToString();
		}
Esempio n. 2
0
        internal static string GetFullName(StackFrame frame)
        {
            // disabled by default, my be switched if options / context menu is added
            bool showArgumentNames = DebuggerSettings.Instance.ShowArguments;
            bool showArgumentValues = DebuggerSettings.Instance.ShowArgumentValues;

            StringBuilder name = new StringBuilder();
            name.Append(frame.MethodInfo.DeclaringType.FullName);
            name.Append('.');
            name.Append(frame.MethodInfo.Name);
            if (showArgumentNames || showArgumentValues) {
                name.Append("(");
                for (int i = 0; i < frame.ArgumentCount; i++) {
                    string parameterName = null;
                    string argValue = null;
                    if (showArgumentNames) {
                        try {
                            parameterName = frame.MethodInfo.GetParameters()[i].Name;
                        } catch { }
                        if (parameterName == "") parameterName = null;
                    }
                    if (showArgumentValues) {
                        try {
                            argValue = frame.GetArgumentValue(i).AsString(100);
                        } catch { }
                    }
                    if (parameterName != null && argValue != null) {
                        name.Append(parameterName);
                        name.Append("=");
                        name.Append(argValue);
                    }
                    if (parameterName != null && argValue == null) {
                        name.Append(parameterName);
                    }
                    if (parameterName == null && argValue != null) {
                        name.Append(argValue);
                    }
                    if (parameterName == null && argValue == null) {
                        name.Append("Global.NA");
                    }
                    if (i < frame.ArgumentCount - 1) {
                        name.Append(", ");
                    }
                }
                name.Append(")");
            }

            return name.ToString();
        }
Esempio n. 3
0
		static string GetFullName(StackFrame frame, bool hasSymbols)
		{
			StringBuilder name = new StringBuilder(64);
			if (DebuggingOptions.Instance.ShowModuleNames) {
				name.Append(frame.MethodInfo.ToString());
				name.Append('!');
			}
			name.Append(frame.MethodInfo.DeclaringType.FullName);
			name.Append('.');
			name.Append(frame.MethodInfo.Name);
			if (DebuggingOptions.Instance.ShowArgumentNames || DebuggingOptions.Instance.ShowArgumentValues) {
				name.Append('(');
				for (int i = 0; i < frame.MethodInfo.Parameters.Count; i++) {
					if (DebuggingOptions.Instance.ShowArgumentNames) {
						name.Append(frame.MethodInfo.Parameters[i].Name);
						if (DebuggingOptions.Instance.ShowArgumentValues) {
							name.Append('=');
						}
					}
					if (DebuggingOptions.Instance.ShowArgumentValues) {
						try {
							name.Append(frame.GetArgumentValue(i, hasSymbols).AsString(100));
						} catch (GetValueException) {
							name.Append(ResourceService.GetString("Global.NA"));
						}
					}
					if (i < frame.ArgumentCount - 1) {
						name.Append(", ");
					}
				}
				name.Append(')');
			}
			if (DebuggingOptions.Instance.ShowLineNumbers) {
				if (frame.NextStatement != null) {
					name.Append(':');
					name.Append(frame.NextStatement.StartLine.ToString());
				}
			}
			return name.ToString();
		}