1

我正在尝试使用retrace随附的工具dexguard来调试混淆代码中的异常。混淆标识符使用非 ASCII 字符,至少在生成的映射文件中是这样的,例如:

boolean areEqual(char[],char[]) -> ËŠ

当我尝试从设备导出堆栈跟踪以便将其输入retrace. 我的混淆设置是否有问题,或者dexguard使用非 ASCII 字符是否正常?如果是这样,我应该如何从设备中导出堆栈跟踪以保留它们?

编辑:我后来发现了一种解决方法,adb logcat -B它以二进制输出日志的形式。这会导致日志文件有点难以阅读,但堆栈跟踪中确实包含正确的非 ASCII 字符。关于的原始问题dexguard仍然存在。

4

2 回答 2

1

DexGuard 确实可能会混淆非 ASCII UTF-8 字符,具体取决于混淆库。它的 ReTrace 工具可以很好地处理它们,但是您需要确保您的环境在复制堆栈跟踪时不会破坏它们:控制台、文本编辑器、窗口系统等。

于 2014-04-04T10:35:40.473 回答
0

为回溯工具创建跟踪文件时,请确保以 UTF-8 格式对内容进行编码。例如,您可以使用菜单选项 - 编码来控制notepad++中的编码

于 2015-05-11T17:22:23.713 回答