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
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
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
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
} 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
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
}
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;
import org.tizen.dynamicanalyzer.common.CommonConstants;
import org.tizen.dynamicanalyzer.swap.model.ByteUtils;
+import org.tizen.dynamicanalyzer.utils.AnalyzerUtil;
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':
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]);
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;
}
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 {
} else {
libName = binInfo.getTargetBinaryPath();
}
-// System.out.println("lib name : " + libName);
+ // System.out.println("lib name : " + libName);
}
}
this.args = args;
}
+ public String getHexReturn() {
+ return AnalyzerUtil.toHexdecimal(ret);
+ }
+
public long getReturn() {
return ret;
}
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 {
return ret;
}
+ public String getHexReturn() {
+ return AnalyzerUtil.toHexdecimal(ret);
+ }
+
public void setRet(long ret) {
this.ret = ret;
}
}
return strBuffer.toString();
}
+
+ public boolean isEqual(String binPath) {
+ if (binaryPath.equals(binPath)) {
+ return true;
+ }
+ return false;
+ }
}
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();
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
}
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(
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(
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;
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;
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;
data.add(Long.toString(failedData.getTime()));
text.add(failedData.getName()); // 2
data.add(failedData.getName());
- text.add(Integer.toString(failedData.getPid())); //3
+ 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();
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;
return args;
}
+ public String getHexReturn() {
+ return AnalyzerUtil.toHexdecimal(ret);
+ }
+
public long getReturn() {
return ret;
}
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;
return retValue;
}
+ public String getHexRet() {
+ return AnalyzerUtil.toHexdecimal(retValue);
+ }
+
public void setRet(long ret) {
this.retValue = ret;
}
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();
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()
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;
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");
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;
// System.out.println("PUT : "
// + AnalyzerUtil.toHexdecimal(entryData.getPcAddr())+ " api : " + entryData.getApiName());
count++;
- if (count >= 30000) {
+ if (count >= 1000) {
stop = true;
}
}
}
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) {