From 211599e7bcf1d00a7b83c220bb874220fb0a0231 Mon Sep 17 00:00:00 2001 From: jooyoul_lee Date: Tue, 8 Oct 2013 11:14:29 +0900 Subject: [PATCH] [Title] fix configuratin [Desc.] [Issue] --- .../dynamicanalyzer/common/AnalyzerPaths.java | 1 + .../swap/communicator/Communicator30.java | 11 +++- .../swap/logparser/MessageParser.java | 6 ++ .../swap/logparser/SWAPLogParser.java | 76 ++++++++++++++-------- .../ui/toolbar/ConfigureManager.java | 10 ++- .../tizen/dynamicanalyzer/utils/AnalyzerUtil.java | 16 ++++- 6 files changed, 86 insertions(+), 34 deletions(-) diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/common/AnalyzerPaths.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/common/AnalyzerPaths.java index be66b47..bf6db8e 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/common/AnalyzerPaths.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/common/AnalyzerPaths.java @@ -80,4 +80,5 @@ public class AnalyzerPaths { public static final String DA_DAEMON_LOG_PATH = "/tmp/daemonlog.da"; //$NON-NLS-1$ public static final String DA_API_MAP_PATH = "/home/developer/api_map"; //$NON-NLS-1$ +// public static final String DA_API_MAP_PATH = "/usr/lib/da_api_map"; //$NON-NLS-1$ } diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/communicator/Communicator30.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/communicator/Communicator30.java index 68766ab..452764c 100755 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/communicator/Communicator30.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/communicator/Communicator30.java @@ -269,6 +269,7 @@ public class Communicator30 extends BaseCommunicator { for (int i = 0; i < size; i++) { AddrSymbolPair addrSymbol = symbols.get(i); String symbol = addrSymbol.getSymbol(); + // FIXME: black list hard coded. if (symbol.contains("__i686.get_pc_thunk")) { exSize++; continue; @@ -466,7 +467,7 @@ public class Communicator30 extends BaseCommunicator { rt.setFeatures(ConfigureManager.getInstance().getConfiguration()); byte[] rtByte = rt.getByteValue(); int length = rtByte.length; - byte[] msg = ByteUtils.concatByteArray(config, length, rtByte); + byte[] msg = ByteUtils.getByte(config, length, rtByte); HostResult result = handleControlMessage( DACommunicator.getSelectedDevice(), msg); @@ -535,6 +536,7 @@ public class Communicator30 extends BaseCommunicator { int msgId = ByteUtils.toInt(message); System.out.println("wait for ack... [send message : " + msgId + " ]"); + int readsize = -1; // read buffer size is sufficient?? byte[] cbuf = new byte[DACommunicator.READ_BUFFER_SIZE * 2]; @@ -548,7 +550,12 @@ public class Communicator30 extends BaseCommunicator { System.arraycopy(cbuf, 0, buf, 0, readsize); result = HostResult.SUCCESS; int ackId = ByteUtils.toInt(buf); - System.out.println("ack id : " + ackId); + + // for debug + System.out.print("ack id : "); + AnalyzerUtil.printHexdecimal(ackId); + System.out.println(); + result.setRet(buf); } else { result = HostResult.ERR_CONTROL_SOCKET_CONNECTION_CLOSED; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/logparser/MessageParser.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/logparser/MessageParser.java index c7db2e4..1a11f7c 100755 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/logparser/MessageParser.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/logparser/MessageParser.java @@ -276,6 +276,12 @@ public class MessageParser { // ByteUtils.printByteArray(header); int id = ByteUtils.toInt(header, 0); + int seq = ByteUtils.toInt(header, INT_SIZE); + + // for debug +// System.out.print("sequence : " + seq + " id :"); +// AnalyzerUtil.printHexdecimal(id); +// System.out.println(); int payloadSize = ByteUtils.toInt(header, MSG_PAYLOAD_SIZE_INDEX); byte[] payload = null; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/logparser/SWAPLogParser.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/logparser/SWAPLogParser.java index 43b7401..5914f15 100755 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/logparser/SWAPLogParser.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/logparser/SWAPLogParser.java @@ -35,7 +35,6 @@ import org.tizen.dynamicanalyzer.common.SymbolManager; import org.tizen.dynamicanalyzer.communicator.CommunicatorUtils; import org.tizen.dynamicanalyzer.communicator.DACommunicator; import org.tizen.dynamicanalyzer.logparser.LogInserter; -import org.tizen.dynamicanalyzer.logparser.LogParser; import org.tizen.dynamicanalyzer.model.ImageInfo; import org.tizen.dynamicanalyzer.nl.InformationViewLabels; import org.tizen.dynamicanalyzer.swap.model.data.ApiNameManager; @@ -186,21 +185,18 @@ public class SWAPLogParser implements Runnable { setFuncName(pData); apiName = pData.getApiName(); if (apiName.equals("")) { - + continue; } } // if (!isDrapCallTraceLog()) { // apiName = pData.getApiName(); - // // } // LogParser.setDropCallTraceLog(true); // } - - if (AnalyzerManager.getCallstackManager().isIrregularUserCall( pData)) { continue; @@ -211,8 +207,11 @@ public class SWAPLogParser implements Runnable { pData, FunctionUsageProfiler.getInstance() .getProfileDataMaker()); - } else if (log instanceof ReplayData - || log instanceof ContextSwitchData) { + } else if (log instanceof ReplayData) { + pushLog(log, logPack); + }else if (log instanceof ContextSwitchData) + { +// printContextSwitchData(log); pushLog(log, logPack); } else { if (log instanceof ScreenShotData) { @@ -338,27 +337,30 @@ public class SWAPLogParser implements Runnable { baseAddr); /** debug code */ - if (input.getId() != 0x2006 && input.getProbeType() == 1) { - System.out.print("id : "); - AnalyzerUtil.printHexdecimal(input.getId()); - System.out.print(" function name : " + functionName + "[ low :"); - AnalyzerUtil.printHexdecimal(Long.parseLong(baseAddr)); - System.out.print(" high : "); - AnalyzerUtil.printHexdecimal(Long.parseLong(highAddr)); - System.out.print(" pcAddr : "); - AnalyzerUtil.printHexdecimal(Long.parseLong(pcAddr)); - if (input.getId() == 0x2010) { - System.out.print(" probe type : "); - AnalyzerUtil.printHexdecimal(input.getProbeType()); - System.out.print(" subtype : "); - AnalyzerUtil.printHexdecimal(input.getProbeSubType()); - } else { - System.out.print(" "); - } - System.out.print(" tid " + input.getTid() + " pid " - + input.getPid() + " time " + input.getTime()); - System.out.println(" ]"); - } +// if (input.getId() != 0x2006 && input.getProbeType() == 1) { +// if (input.getId() != 0x2006 ) { +// if (input.getId() == 0x2006) { +// System.out.print("seq : " + input.getSeq()); +// System.out.print(" id : "); +// AnalyzerUtil.printHexdecimal(input.getId()); +// System.out.print(" function name : " + functionName + "[ low :"); +// AnalyzerUtil.printHexdecimal(Long.parseLong(baseAddr)); +// System.out.print(" high : "); +// AnalyzerUtil.printHexdecimal(Long.parseLong(highAddr)); +// System.out.print(" pcAddr : "); +// AnalyzerUtil.printHexdecimal(Long.parseLong(pcAddr)); +// if (input.getId() == 0x2010) { +// System.out.print(" probe type : "); +// AnalyzerUtil.printHexdecimal(input.getProbeType()); +// System.out.print(" subtype : "); +// AnalyzerUtil.printHexdecimal(input.getProbeSubType()); +// } else { +// System.out.print(" "); +// } +// System.out.print(" tid " + input.getTid() + " pid " +// + input.getPid() + " time " + input.getTime()); +// System.out.println(" ]"); +// } if (null == functionName || functionName.isEmpty() || functionName.equals("_end")) { //$NON-NLS-1$ @@ -376,4 +378,22 @@ public class SWAPLogParser implements Runnable { private void pushLog(LogData logData, LogPackage logPack) { logPack.setLogs(logData.getId(), logData); } + + private void printContextSwitchData(LogData log) + { + ContextSwitchData input = (ContextSwitchData)log; + + System.out.print("seq : " + input.getSeq()); + System.out.print(" id : "); + AnalyzerUtil.printHexdecimal(input.getId()); +// System.out.print(" function name : " + functionName + "[ low :"); +// AnalyzerUtil.printHexdecimal(Long.parseLong(baseAddr)); +// System.out.print(" high : "); +// AnalyzerUtil.printHexdecimal(Long.parseLong(highAddr)); +// System.out.print(" pcAddr : "); +// AnalyzerUtil.printHexdecimal(Long.parseLong(pcAddr)); + System.out.print(" tid " + input.getTid() + " pid " + + input.getPid() + " time " + input.getTime()); + System.out.println(" ]"); + } } diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/ConfigureManager.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/ConfigureManager.java index db6e064..7078a42 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/ConfigureManager.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/ConfigureManager.java @@ -342,16 +342,20 @@ public class ConfigureManager { return 0; } String valueStr = data.get(key); + int ret = 0; try { if (null == valueStr) { - return 0; + ret = 0; } else { - return Integer.parseInt(valueStr); + ret = Integer.parseInt(valueStr); } } catch (NumberFormatException e) { e.printStackTrace(); - return 0; + ret = 0; } + + System.out.println("configuration key: " + key + " value: " + ret); + return ret; } public void setValue(String key, String val) { diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/utils/AnalyzerUtil.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/utils/AnalyzerUtil.java index 63cecfb..7c8b1f7 100755 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/utils/AnalyzerUtil.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/utils/AnalyzerUtil.java @@ -71,7 +71,6 @@ import org.tizen.dynamicanalyzer.communicator.CommunicatorUtils; import org.tizen.dynamicanalyzer.communicator.DACommunicator; import org.tizen.dynamicanalyzer.handlers.RealtimePerspectiveHandler; import org.tizen.dynamicanalyzer.logparser.LogCenterConstants; -import org.tizen.dynamicanalyzer.model.LogCenter; import org.tizen.dynamicanalyzer.swap.model.ByteUtils; import org.tizen.dynamicanalyzer.swap.model.data.ApiNameManager; import org.tizen.dynamicanalyzer.swap.model.probe2.LogDataFactory; @@ -82,6 +81,8 @@ import org.tizen.dynamicanalyzer.ui.page.ViewAction; import org.tizen.dynamicanalyzer.ui.timeline.common.TimelineView; import org.tizen.dynamicanalyzer.ui.widgets.DATabComposite; import org.tizen.sdblib.IDevice; +import org.tizen.sdblib.exception.SdbCommandRejectedException; +import org.tizen.sdblib.exception.TimeoutException; import org.tizen.sdblib.service.SyncResult; public class AnalyzerUtil { @@ -1025,6 +1026,19 @@ public class AnalyzerUtil { String apiFilePath = AnalyzerPaths.TEMP_FOLDER_PATH + File.separator + device.getSerialNumber() + CommonConstants.UNDERBAR + AnalyzerConstants.API_NAME_FILE_NAME; +// try { +// DACommunicator.getSelectedDevice().getIDevice() +// .becomeSuperUser(true); +// } catch (TimeoutException e) { +// // TODO Auto-generated catch block +// e.printStackTrace(); +// } catch (SdbCommandRejectedException e) { +// // TODO Auto-generated catch block +// e.printStackTrace(); +// } catch (IOException e) { +// // TODO Auto-generated catch block +// e.printStackTrace(); +// } SyncResult res = CommunicatorUtils.pull(device, AnalyzerPaths.DA_API_MAP_PATH, apiFilePath); if (null != res && res.isOk()) { -- 2.7.4