2014-05-22 54 views
1

我通常會混淆我的大部分應用程序。我正在生成更容易閱讀的錯誤消息,所以我一直包括StackTrace。混淆,e.StackTrace無法讀取

我遇到的問題是,由於混淆程序,StackTrace不可讀,只是包含隨機字符,因爲所有方法名稱和參數都是不可讀的。

處理這種情況或不存在這種情況的最佳方式是什麼?

下面是一個例子

enter image description here

+0

你能發表一個代碼和輸出的例子嗎? – christiandev

+0

打開反射器 - >查找從stacktrace獲得的混淆名稱 - >然後轉到源以查看原始方法。這就是我如何做到這一點:( –

+0

我猜這取決於你使用的Obfuscation工具,但主要是,如果你的方法/類名稱被混淆,StackTrace應該是不可讀的... – Hybris95

回答

0

雖然我從來沒有與自己混淆器的工作,我的印象是,混淆正常創建可作爲原始與混淆的名稱之間的映射文件各種字典。

您將不得不製作(或查找)一些程序,可以將混淆的堆棧跟蹤和映射文件轉換爲可讀的內容。無論是或手動進行。

不幸的是,混淆的本質使得調試更加複雜。

+0

我想不是所有的混淆器都這樣做 –

+0

我想這是真的,在這種情況下,被這些工具混淆的代碼最多是極難調試的。 – Smallhacker