]> source.dussan.org Git - poi.git/commitdiff
Add more output to BiffViewer for local debugging
authorDominik Stadler <centic@apache.org>
Sun, 11 Dec 2016 20:58:30 +0000 (20:58 +0000)
committerDominik Stadler <centic@apache.org>
Sun, 11 Dec 2016 20:58:30 +0000 (20:58 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1773639 13f79535-47bb-0310-9956-ffa450edef68

BiffViewer.launch
src/java/org/apache/poi/hssf/dev/BiffViewer.java

index de070c9a61b6afac792022034ffacb38282259f1..4b76fd167317e407233e041b9fb633ed54337443 100644 (file)
@@ -11,6 +11,7 @@
 <listEntry value="org.eclipse.debug.ui.launchGroup.run"/>
 </listAttribute>
 <stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.apache.poi.hssf.dev.BiffViewer"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="/tmp/45312.xls"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="--escher test-data/spreadsheet/57456.xls"/>
 <stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="ApachePOI"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-javaagent:/opt/file-leak-detector/target/file-leak-detector-1.9-SNAPSHOT-jar-with-dependencies.jar=http=19998,strong,excludes=file-leak-detector.exclude,dumpatshutdown"/>
 </launchConfiguration>
index 5465f0ff104dc1217eab2de5dde55cc65225d4d4..8f2de9fe0b74672c4ead00480baef697fbd5b909 100644 (file)
@@ -29,6 +29,7 @@ import java.io.PrintWriter;
 import java.io.Writer;
 import java.nio.charset.Charset;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
 
 import org.apache.poi.hssf.record.ArrayRecord;
@@ -245,6 +246,11 @@ public final class BiffViewer {
             }
             Record record;
             if (dumpInterpretedRecords) {
+                           ps.println();
+                           ps.println("Remainging: " + recStream.remaining());
+                           byte[] data = ((BiffDumpingStream)is).getData();
+                           ps.println("Record-Data: " + HexDump.toHex(Arrays.copyOfRange(data, 0, Math.min(100, data.length))));
+
                 record = createRecord (recStream);
                 if (record.getSid() == ContinueRecord.sid) {
                     continue;
@@ -749,6 +755,10 @@ public final class BiffViewer {
                public void close() throws IOException {
                        _is.close();
                }
+       
+       public byte[] getData() {
+           return _data;
+       }               
        }
 
        private static final int DUMP_LINE_LEN = 16;