[Title] args, return value shows hex
authorjooyoul_lee <jy.exe.lee@samsung.com>
Thu, 31 Oct 2013 05:43:04 +0000 (14:43 +0900)
committerjooyoul_lee <jy.exe.lee@samsung.com>
Thu, 31 Oct 2013 05:43:04 +0000 (14:43 +0900)
[Desc.] number type value shows hexdecimal
[Issue]

17 files changed:
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/listeners/TableTooltipListener.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/logparser/LogParser.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/LogDataUtils.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/ProbeCommonData.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/ProfileData.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/platform/BinarySettingData.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/file/FileApiListTable.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/network/NetworkApiListTable.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/network/NetworkDataMaker.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/failed/FailedApiTable.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/failed/FailedData.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/leaks/LeakData.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/leaks/LeakTable.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/thread/ThreadAPIListTable.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/calltrace/CallTraceTable.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/calltrace/UserFunctionManager.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/utils/AnalyzerUtil.java

index 4203762..ed97c1d 100644 (file)
@@ -60,6 +60,8 @@ import org.tizen.dynamicanalyzer.swap.model.data.LogData;
 import org.tizen.dynamicanalyzer.swap.model.data.ProbeCommonData;\r
 import org.tizen.dynamicanalyzer.swap.model.data.ProfileData;\r
 import org.tizen.dynamicanalyzer.swap.model.data.UserFunctionData;\r
+import org.tizen.dynamicanalyzer.swap.platform.BinarySettingData;\r
+import org.tizen.dynamicanalyzer.swap.platform.BinarySettingManager;\r
 import org.tizen.dynamicanalyzer.ui.toolbar.ToolbarArea;\r
 import org.tizen.dynamicanalyzer.ui.widgets.DADialog;\r
 import org.tizen.dynamicanalyzer.ui.widgets.table.DATableDataFormat;\r
@@ -230,7 +232,24 @@ public class TableTooltipListener implements Listener {
                        title.setBackground(ColorResources.TOOLTIP);\r
 \r
                        // Sets tooltip title text.\r
-                       String filePath = sl.getFilePath();\r
+                       String filePath = null;\r
+                       String libName = getLibPath(item);\r
+                       if (libName == null) {\r
+                               filePath = sl.getFilePath();\r
+                       } else {\r
+                               List<BinarySettingData> binarySettings = BinarySettingManager\r
+                                               .getInstance().getBinarySettings();\r
+                               for (int i = 0; i < binarySettings.size(); i++) {\r
+                                       if (binarySettings.get(i).isEqual(libName)) {\r
+                                               filePath = binarySettings.get(i).getSourcePath();\r
+                                               break;\r
+                                       }\r
+                               }\r
+                       }\r
+                       if (filePath == null) {\r
+                               filePath = sl.getFilePath();\r
+                       }\r
+\r
                        int line = sl.getLineNumber();\r
                        title.setText(filePath + CommonConstants.SPACE\r
                                        + CommonConstants.SPACE + CommonConstants.NEW_LINE);\r
@@ -342,7 +361,6 @@ public class TableTooltipListener implements Listener {
                boolean isPieBuild = true;\r
                int pid = -1;\r
                long time = 0;\r
-               int seq = -1;\r
 \r
                switch (tableData.getType()) {\r
                case AnalyzerConstants.TYPE_TABLE_CALLSTACK:\r
@@ -362,7 +380,7 @@ public class TableTooltipListener implements Listener {
                        break;\r
                case AnalyzerConstants.TYPE_TABLE_WARNING:\r
                        data = tableData.getLogData();\r
-                       ProbeCommonData pData = (ProbeCommonData)data;\r
+                       ProbeCommonData pData = (ProbeCommonData) data;\r
                        addr = pData.getCallerPcAddr();\r
                        pid = data.getPid();\r
                        time = data.getTime();\r
@@ -374,14 +392,14 @@ public class TableTooltipListener implements Listener {
                        } else if (data instanceof ProfileData) {\r
                                addr = ((ProfileData) data).getPcAddr();\r
                                // config\r
-//                             addr = ((ProfileData) data).getCallerPcAddr();\r
+                               // addr = ((ProfileData) data).getCallerPcAddr();\r
                        }\r
                        pid = data.getPid();\r
                        time = data.getTime();\r
                        break;\r
                default: // normal\r
                        data = tableData.getLogData();\r
-                       ProbeCommonData wData = (ProbeCommonData)data;\r
+                       ProbeCommonData wData = (ProbeCommonData) data;\r
                        addr = wData.getCallerPcAddr();\r
                        pid = data.getPid();\r
                        time = data.getTime();\r
@@ -426,4 +444,37 @@ public class TableTooltipListener implements Listener {
                                Integer.toString(sl.getLineNumber()));\r
        }\r
 \r
+       private String getLibPath(GridItem item) {\r
+               DATableDataFormat tableData = (DATableDataFormat) item.getData();\r
+               String libName = null;\r
+               switch (tableData.getType()) {\r
+               case AnalyzerConstants.TYPE_TABLE_CALLSTACK:\r
+                       // addr = (Long) tableData.getObject();\r
+                       break;\r
+               case AnalyzerConstants.TYPE_TABLE_FAILED:\r
+                       List<String> failedData = tableData.getData();\r
+                       // libName = failedData.get(6));\r
+                       break;\r
+               case AnalyzerConstants.TYPE_TABLE_LEAK:\r
+                       List<String> leakData = tableData.getData();\r
+                       libName = leakData.get(7);\r
+                       break;\r
+               case AnalyzerConstants.TYPE_TABLE_WARNING:\r
+                       ProbeCommonData pData = (ProbeCommonData) tableData.getLogData();\r
+                       libName = pData.getLibName();\r
+                       break;\r
+               case AnalyzerConstants.TYPE_TABLE_CALLTRACE:\r
+                       LogData data = tableData.getLogData();\r
+                       if (data instanceof UserFunctionData) {\r
+                               libName = ((UserFunctionData) data).getLibName();\r
+                       } else if (data instanceof ProfileData) {\r
+                               libName = ((ProfileData) data).getLibName();\r
+                       }\r
+                       break;\r
+               default: // normal\r
+                       ProbeCommonData wData = (ProbeCommonData) tableData.getLogData();\r
+                       libName = wData.getLibName();\r
+               }\r
+               return libName;\r
+       }\r
 }\r
index e00e616..b61dd2d 100644 (file)
@@ -140,35 +140,24 @@ public class LogParser implements Runnable {
        }
 
        private void checkProbeCommon(String[] input, LogData ld) {
-               ProbeCommonData data = (ProbeCommonData) ld;
-               int iVal = 0;
-               long lVal = 0;
-               String sVal = null;
-               float fVal = 0;
-
-               iVal = data.getApiId();
-               iVal = data.getPid();
-               iVal = data.getTid();
-               sVal = data.getArgs();
-               lVal = data.getReturn();
-               lVal = data.getErrno();
-               iVal = data.getInternalCall();
-               lVal = data.getCallerPcAddr();
-               iVal = data.getReserved1();
-               iVal = data.getReserved2();
+//             ProbeCommonData data = (ProbeCommonData) ld;
+//             int iVal = 0;
+//             long lVal = 0;
+//             String sVal = null;
+//             float fVal = 0;
+//
+//             iVal = data.getApiId();
+//             iVal = data.getPid();
+//             iVal = data.getTid();
+//             sVal = data.getArgs();
+//             lVal = data.getReturn();
+//             lVal = data.getErrno();
+//             iVal = data.getInternalCall();
+//             lVal = data.getCallerPcAddr();
+//             iVal = data.getReserved1();
+//             iVal = data.getReserved2();
        }
 
-       private void testScreenshotData(String[] input, LogData ld) {
-               ScreenShotData log = (ScreenShotData) ld;
-               int iVal = 0;
-               long lVal = 0;
-               String sVal = null;
-               float fVal = 0;
-
-               checkProbeCommon(input, ld);
-               sVal = log.getImageFilePath();
-               iVal = log.getOrientation();
-       }
 
        private void testSystemData(String[] input, LogData ld) {
                SystemData log = (SystemData) ld;
index ed0fd08..0ed8bda 100644 (file)
@@ -32,6 +32,7 @@ import static org.tizen.dynamicanalyzer.common.CommonConstants.LONG_SIZE;
 
 import org.tizen.dynamicanalyzer.common.CommonConstants;
 import org.tizen.dynamicanalyzer.swap.model.ByteUtils;
+import org.tizen.dynamicanalyzer.utils.AnalyzerUtil;
 
 public class LogDataUtils {
 
@@ -50,17 +51,17 @@ public class LogDataUtils {
                                break;
                        case 'd':
                                int iValue = ByteUtils.toInt(payload, index);
-                               buffer.append(iValue);
+                               buffer.append(Integer.toHexString(iValue));
                                index += Integer.SIZE / Byte.SIZE;
                                break;
                        case 'x':
                                long lValue = ByteUtils.toLong(payload, index);
-                               buffer.append(lValue);
+                               buffer.append(AnalyzerUtil.toHexdecimal(lValue));
                                index += LONG_SIZE;
                                break;
                        case 'p':
                                long pValue = ByteUtils.toLong(payload, index);
-                               buffer.append(Long.toHexString(pValue));
+                               buffer.append(AnalyzerUtil.toHexdecimal(pValue));
                                index += LONG_SIZE;
                                break;
                        case 'f':
@@ -73,8 +74,17 @@ public class LogDataUtils {
                                buffer.append(dValue);
                                index += DOUBLE_SIZE;
                                break;
+                       case 'b':
+                               byte b = payload[index++];
+                               if (b == 0) {
+                                       buffer.append("false");
+                               } else {
+                                       buffer.append("true");
+                               }
+                               System.out.println("boolean type arg : " + b);
+                               break;
                        case 's':
-//                             System.out.println("args payload size : " + payload.length);
+                               // System.out.println("args payload size : " + payload.length);
                                for (int iii = index; iii < payload.length; iii++) {
                                        if (payload[iii] != 0) {
                                                buffer.append((char) payload[iii]);
@@ -88,14 +98,15 @@ public class LogDataUtils {
                                break;
                        }
                        if (ii + 1 != countOfArgs) {
-                               buffer.append(CommonConstants.COMMA);
+                               buffer.append(CommonConstants.COMMA).append(
+                                               CommonConstants.SPACE);
                        }
                }
 
                args.setArgs(buffer.toString());
                args.setLastIndex(index);
-               
-//             System.out.println("Args result :" + buffer.toString());
+
+               // System.out.println("Args result :" + buffer.toString());
 
                return args;
        }
index 85fbf80..eddaddd 100644 (file)
@@ -39,6 +39,7 @@ import org.tizen.dynamicanalyzer.swap.channel.data.ProcessInfo;
 import org.tizen.dynamicanalyzer.swap.channel.data.ProcessInfoPackage;
 import org.tizen.dynamicanalyzer.swap.logparser.MessageParser;
 import org.tizen.dynamicanalyzer.swap.model.ByteUtils;
+import org.tizen.dynamicanalyzer.utils.AnalyzerUtil;
 
 public class ProbeCommonData extends LogData {
 
@@ -109,7 +110,7 @@ public class ProbeCommonData extends LogData {
                        } else {
                                libName = binInfo.getTargetBinaryPath();
                        }
-//                     System.out.println("lib name : " + libName);
+                       // System.out.println("lib name : " + libName);
                }
        }
 
@@ -145,6 +146,10 @@ public class ProbeCommonData extends LogData {
                this.args = args;
        }
 
+       public String getHexReturn() {
+               return AnalyzerUtil.toHexdecimal(ret);
+       }
+
        public long getReturn() {
                return ret;
        }
index bc64dc0..8aab479 100644 (file)
@@ -42,6 +42,7 @@ import org.tizen.dynamicanalyzer.swap.channel.control.BinaryInfo;
 import org.tizen.dynamicanalyzer.swap.channel.data.ProcessInfo;
 import org.tizen.dynamicanalyzer.swap.channel.data.ProcessInfoPackage;
 import org.tizen.dynamicanalyzer.swap.model.ByteUtils;
+import org.tizen.dynamicanalyzer.utils.AnalyzerUtil;
 
 public class ProfileData extends LogData {
 
@@ -216,6 +217,10 @@ public class ProfileData extends LogData {
                return ret;
        }
 
+       public String getHexReturn() {
+               return AnalyzerUtil.toHexdecimal(ret);
+       }
+       
        public void setRet(long ret) {
                this.ret = ret;
        }
index aa38c28..46c29d8 100644 (file)
@@ -57,4 +57,11 @@ public class BinarySettingData {
                }
                return strBuffer.toString();
        }
+
+       public boolean isEqual(String binPath) {
+               if (binaryPath.equals(binPath)) {
+                       return true;
+               }
+               return false;
+       }
 }
index 3529740..088d376 100644 (file)
@@ -131,7 +131,7 @@ public class FileApiListTable extends DAApiListTableComposite {
                        contentData.add(contentTemp.getArgs());
                        contentText.add(Integer.toString(contentTemp.getTid()));
                        contentData.add(Integer.toString(contentTemp.getTid()));
-                       contentText.add(Long.toString(contentTemp.getReturn()));
+                       contentText.add(contentTemp.getHexReturn());
                        contentData.add(Long.toString(contentTemp.getReturn()));
                        String errMsg = ErrorCodeManager.getInatance()
                                        .getErrorCode(contentTemp.getErrno()).name();
index 79c66b0..d72e5ca 100644 (file)
@@ -206,8 +206,8 @@ public class NetworkApiListTable extends DAApiListTableComposite {
                        contentData.add(contentTemp.getArgs());
                        contentText.add(Integer.toString(contentTemp.getTid()));
                        contentData.add(Integer.toString(contentTemp.getTid()));
-                       contentText.add(Long.toString(contentTemp.getReturn()));
-                       contentData.add(Long.toString(contentTemp.getReturn()));
+                       contentText.add(contentTemp.getHexReturn());
+                       contentData.add(contentTemp.getHexReturn());
 
                        int apiType = contentTemp.getFdApiType();
                        if (apiType == LogCenterConstants.SOCKET_API_SEND_END
@@ -233,7 +233,7 @@ public class NetworkApiListTable extends DAApiListTableComposite {
                        }
                        contentText.add(errMsg);
                        contentData.add(errMsg);
-                       contentText.add(Long.toString(contentTemp.getReturn()));
+                       contentText.add(contentTemp.getHexReturn());
                        contentData.add(Long.toString(contentTemp.getReturn()));
 
                        DATableDataFormat tableData = new DATableDataFormat(
index d8b1783..1565e52 100644 (file)
@@ -164,7 +164,7 @@ public class NetworkDataMaker {
                case LogCenterConstants.SOCKET_API_ACCEPT_START:
                        break;
                case LogCenterConstants.SOCKET_API_ACCEPT_END: {
-                       String clientFD = Long.toString(input.getReturn());
+                       String clientFD = input.getHexReturn();
                        addressByFdHashMap.put(clientFD, parentAddress);
                        if (errno != 0) {
                                NetworkChartDataEvent event = new NetworkChartDataEvent(
@@ -225,7 +225,7 @@ public class NetworkDataMaker {
                        connectedType = NetworkChartDataEvent.NETWORK_CHART_SESSION_NAME;
                        break;
                case LogCenterConstants.HTTP_API_TRANSACTION_OPEN: {
-                       String clientFD = Long.toString(input.getReturn());
+                       String clientFD = input.getHexReturn();
                        String parrentAddress = addressByFdHashMap.get(apiFD);
                        if (null != parrentAddress) {
                                apiAddress = parrentAddress;
@@ -243,7 +243,7 @@ public class NetworkDataMaker {
                        break;
                }
                case LogCenterConstants.HTTP_API_ALLOCATION: {
-                       String clientFD = Long.toString(input.getReturn());
+                       String clientFD = input.getHexReturn();
                        String parretnFD = parentFDByFdHashMap.get(apiFD);
                        if (null != parretnFD) {
                                apiFD = parretnFD;
@@ -280,7 +280,7 @@ public class NetworkDataMaker {
                        break;
                }
                case LogCenterConstants.HTTP_API_RESPONSE: {
-                       String clientFD = Long.toString(input.getReturn());
+                       String clientFD = input.getHexReturn();
                        String parretnFD = parentFDByFdHashMap.get(apiFD);
                        if (null != parretnFD) {
                                apiFD = parretnFD;
index edd27dd..6171f8c 100644 (file)
@@ -106,14 +106,14 @@ public class FailedApiTable extends DATableComposite {
                        data.add(Long.toString(failedData.getTime()));
                        text.add(failedData.getName()); // 2
                        data.add(failedData.getName());
-                       text.add(Integer.toString(failedData.getPid())); //
+                       text.add(Integer.toString(failedData.getPid())); // 3
                        data.add(Integer.toString(failedData.getPid()));
                        text.add(failedData.getArgs()); // 4
                        data.add(failedData.getArgs());
-                       text.add(Long.toString(failedData.getReturn())); //5
+                       text.add(failedData.getHexReturn()); // 5
                        data.add(Long.toString(failedData.getReturn()));
-                       
-                       data.add(Long.toString(failedData.getCallerPc())); //6
+
+                       data.add(Long.toString(failedData.getCallerPc())); // 6
 
                        String errCode = ErrorCodeManager.getInatance()
                                        .getErrorCode(failedData.getErrorCode()).name();
index 65a2472..4ba0cfd 100755 (executable)
@@ -30,6 +30,7 @@ import java.util.List;
 
 import org.tizen.dynamicanalyzer.swap.model.data.LogData;
 import org.tizen.dynamicanalyzer.swap.model.data.ProbeCommonData;
+import org.tizen.dynamicanalyzer.utils.AnalyzerUtil;
 
 public class FailedData {
        public static final int ID_INDEX = 1;
@@ -112,6 +113,10 @@ public class FailedData {
                return args;
        }
 
+       public String getHexReturn() {
+               return AnalyzerUtil.toHexdecimal(ret);
+       }
+
        public long getReturn() {
                return ret;
        }
index 7380594..cce12b0 100644 (file)
@@ -32,6 +32,7 @@ import org.tizen.dynamicanalyzer.swap.model.data.LogData;
 import org.tizen.dynamicanalyzer.swap.model.data.LogDataFactory;
 import org.tizen.dynamicanalyzer.swap.model.data.MemoryData;
 import org.tizen.dynamicanalyzer.swap.model.data.ProbeCommonData;
+import org.tizen.dynamicanalyzer.utils.AnalyzerUtil;
 
 public class LeakData {
        public static final int INDEX_LEAK_SEQ = 1;
@@ -164,6 +165,10 @@ public class LeakData {
                return retValue;
        }
 
+       public String getHexRet() {
+               return AnalyzerUtil.toHexdecimal(retValue);
+       }
+
        public void setRet(long ret) {
                this.retValue = ret;
        }
index 027e53a..c728d32 100644 (file)
@@ -173,7 +173,7 @@ public class LeakTable extends DATreeComposite {
                tableData.setObject(leakData.getName());
                text.add(leakData.getParam()); // 5
                data.add(leakData.getParam());
-               text.add(Long.toString(leakData.getRet())); // 6
+               text.add(leakData.getHexRet()); // 6
                data.add(Long.toString(leakData.getRet()));
 
                String libName = leakData.getLibName();
index 1dd82dd..47c65e6 100644 (file)
@@ -136,7 +136,7 @@ public class ThreadAPIListTable extends DAApiListTableComposite {
                        contentText.add(Long.toString(contentTemp.getTid()));
                        contentData.add(Long.toString(contentTemp.getTid()));
                        
-                       contentText.add(Long.toString(contentTemp.getReturn()));
+                       contentText.add(contentTemp.getHexReturn());
                        contentData.add(Long.toString(contentTemp.getReturn()));
                        
                        String errMsg = ErrorCodeManager.getInatance()
index a05f1f7..3645d6e 100644 (file)
@@ -102,7 +102,7 @@ public class CallTraceTable extends DATableComposite {
                                text.add(Integer.toString(data.getPid()));
                                text.add(data.getApiName());
                                text.add(data.getArgs());
-                               text.add(Long.toString(data.getReturn()));
+                               text.add(data.getHexReturn());
                                text.add(data.getLibName());
                        } else if (logData instanceof ProfileData) {
                                ProfileData data = (ProfileData) logData;
@@ -112,7 +112,7 @@ public class CallTraceTable extends DATableComposite {
                                text.add(Integer.toString(data.getPid()));
                                text.add(data.getApiName());
                                text.add(data.getArgs());
-                               text.add(Long.toString(data.getRet()));
+                               text.add(data.getHexReturn());
                                text.add(data.getLibName());
                        } else {
                                System.out.println("wrong log data in calltrace view");
index f3a5375..0da8bab 100644 (file)
@@ -33,7 +33,6 @@ import java.util.List;
 
 import org.tizen.dynamicanalyzer.swap.model.data.LogData;
 import org.tizen.dynamicanalyzer.swap.model.data.ProfileData;
-import org.tizen.dynamicanalyzer.utils.AnalyzerUtil;
 
 public class UserFunctionManager {
        private List<LogData> log = null;
@@ -85,7 +84,7 @@ public class UserFunctionManager {
 //                     System.out.println("PUT : "
 //                                     + AnalyzerUtil.toHexdecimal(entryData.getPcAddr())+ "  api : " + entryData.getApiName());
                        count++;
-                       if (count >= 30000) {
+                       if (count >= 1000) {
                                stop = true;
                        }
                }
index 9f2b553..3d98af6 100755 (executable)
@@ -1098,7 +1098,15 @@ public class AnalyzerUtil {
        }
 
        public static String toHexdecimal(long value) {
-               return String.format("%x", value);
+//             String str = String.format("%x", value);
+//             if (str.length() < 8) {
+//                     StringBuffer zeroBuffer = new StringBuffer();
+//                     for (int i = str.length() - 1; i < 8; i++) {
+//                             zeroBuffer.append(CommonConstants.ZERO);
+//                     }
+//                     str = zeroBuffer.toString() + str;
+//             }
+               return Long.toHexString(value);
        }
 
        public static String getProcessLocalBinaryPath(int pid, long time) {