selfSymbol = SymbolManager.addr2func(binPath, selfAddr, isPieBuild,
baseAddr);
// FIXME : demangling debug
- // String prevSelf = selfSymbol;
+ String prevSelf = selfSymbol;
selfSymbol = SymbolNameDemangler.nameDemangle(selfSymbol);
- // System.out.println("Demangling in makeCallstack : " + prevSelf
- // + " to " + selfSymbol);
+ System.out.println("[Self] Demangling in makeCallstack : "
+ + prevSelf + " to " + selfSymbol);
selfSymbol = getUserFunctionPosition()
+ AnalyzerConstants.CALLSTACK_API_TOKEN_STRING + selfSymbol;
addrMap.put(self, new String(selfSymbol));
if (null == callerSymbol) {
callerSymbol = SymbolManager.addr2func(binPath, callerAddr,
isPieBuild, baseAddr);
+ String prevCaller = callerSymbol;
callerSymbol = SymbolNameDemangler.nameDemangle(callerSymbol);
+ System.out.println("[Caller] Demangling in makeCallstack : "
+ + prevCaller + " to " + callerSymbol);
callerSymbol = getUserFunctionPosition()
+ AnalyzerConstants.CALLSTACK_API_TOKEN_STRING
+ callerSymbol;
String[] name = funcName
.split(AnalyzerConstants.CALLSTACK_API_OFFSET_TOKEN);
-
- addrMap.put(addr, new String(name[0]));
- CallStackApi cas = new CallStackApi(addr, name[0]);
+ String fns[] = name[0].split("\\(");
+ String inputName = null;
+ if (fns.length > 1) {
+ String dmfn = SymbolNameDemangler.nameDemangle(fns[1]);
+ inputName = new String(fns[0] + "(" + dmfn);
+ } else {
+ inputName = new String(name[0]);
+ }
+ addrMap.put(addr, inputName);
+ CallStackApi cas = new CallStackApi(addr, inputName);
addrList.add(cas);
}
import org.tizen.dynamicanalyzer.AnalyzerManager;
import org.tizen.dynamicanalyzer.LogSpliter;
+import org.tizen.dynamicanalyzer.SymbolNameDemangler;
import org.tizen.dynamicanalyzer.constants.AnalyzerConstants;
import org.tizen.dynamicanalyzer.model.CallStackApi;
import org.tizen.dynamicanalyzer.model.FunctionUsageProfilingData;
}
String[] name = funcName
.split(AnalyzerConstants.CALLSTACK_API_OFFSET_TOKEN);
- addrMap.put(addr, new String(name[0]));
- CallStackApi cas = new CallStackApi(addr, name[0]);
+ String fns[] = name[0].split("\\(");
+ String inputName = null;
+ if (fns.length > 1) {
+ String dmfn = SymbolNameDemangler.nameDemangle(fns[1]);
+ inputName = new String(fns[0] + "(" + dmfn);
+ } else {
+ inputName = new String(name[0]);
+ }
+ addrMap.put(addr, inputName);
+ CallStackApi cas = new CallStackApi(addr, inputName);
addrList.add(cas);
}
}