diff options
2 files changed, 14 insertions, 3 deletions
diff --git a/valgrind/org.eclipse.linuxtools.valgrind.core/src/org/eclipse/linuxtools/internal/valgrind/core/ValgrindCoreParser.java b/valgrind/org.eclipse.linuxtools.valgrind.core/src/org/eclipse/linuxtools/internal/valgrind/core/ValgrindCoreParser.java index f54cd5a4af..0e35af3e23 100644 --- a/valgrind/org.eclipse.linuxtools.valgrind.core/src/org/eclipse/linuxtools/internal/valgrind/core/ValgrindCoreParser.java +++ b/valgrind/org.eclipse.linuxtools.valgrind.core/src/org/eclipse/linuxtools/internal/valgrind/core/ValgrindCoreParser.java @@ -44,7 +44,8 @@ public class ValgrindCoreParser { while ((line = br.readLine()) != null) { // remove PID string // might encounter warnings also #325130 - line = line.replaceFirst("==\\d+==|\\*\\*\\d+\\*\\*", ""); //$NON-NLS-1$ //$NON-NLS-2$ + // fixed #423371 - handle timestamp (e.g. ==00:00:00:01.175 52756728==) + line = line.replaceFirst("==([\\d:\\.]+\\s)?\\d+==|\\*\\*\\d+\\*\\*", ""); //$NON-NLS-1$ //$NON-NLS-2$ int indent; for (indent = 0; indent < line.length() diff --git a/valgrind/org.eclipse.linuxtools.valgrind.core/src/org/eclipse/linuxtools/valgrind/core/ValgrindParserUtils.java b/valgrind/org.eclipse.linuxtools.valgrind.core/src/org/eclipse/linuxtools/valgrind/core/ValgrindParserUtils.java index 62d1afdb44..c717e3e5d9 100644 --- a/valgrind/org.eclipse.linuxtools.valgrind.core/src/org/eclipse/linuxtools/valgrind/core/ValgrindParserUtils.java +++ b/valgrind/org.eclipse.linuxtools.valgrind.core/src/org/eclipse/linuxtools/valgrind/core/ValgrindParserUtils.java @@ -108,8 +108,8 @@ public final class ValgrindParserUtils { } /** - * Parses string ending with format ([FILE]:[LINE]) - * Assumes syntax is: "\(.*:[0-9]+\)$" + * Parses string ending with format ([FILE]:[LINE MODULE]) + * Assumes syntax is: "\(.*:[0-9]+(\s.+)?\)$" * @param line - String with the above criteria * @return a tuple of [String filename, Integer line] */ @@ -126,6 +126,16 @@ public final class ValgrindParserUtils { if (isNumber(strLineNo)) { lineNo = Integer.parseInt(strLineNo); filename = part.substring(0, ix); + } else { + // handle format: (FILE:LINE MODULE) + int ix1 = strLineNo.indexOf(" "); //$NON-NLS-1$ + if (ix1 > 0) { + strLineNo = strLineNo.substring(0, ix1); + if (isNumber(strLineNo)) { + lineNo = Integer.parseInt(strLineNo); + filename = part.substring(0, ix); + } + } } } else { |