hello everyone,
my profiler occasinally crash when clicking on render calls to view api call info
content of "API Calls" tab is invisible
it seems crash is related to certain kind of "render calls", pls help
System.ArgumentNullException: Array cannot be null.Parameter name: bytesat System.Text.ASCIIEncoding.GetString(Byte[] bytes, Int32 byteIndex, Int32 byteCount)at QXProfiler.Tokens.TokenGL3APIPushDebugGroupKHR.GetName()at QXProfiler.Tokens.TokenGL3APIPushDebugGroupKHR.LogData()at QXProfilerControls.TraceViewES20.RedrawStateCalls()at QXProfilerControls.TraceViewES20.treeListViewDrawCalls_AfterSelect(Object sender, ObjectEventArgs e)at LidorSystems.IntegralUI.Lists.ListBase.OnAfterSelect(ObjectEventArgs e)at LidorSystems.IntegralUI.Lists.TreeListView.set_SelectedNode(TreeListViewNode value)at LidorSystems.IntegralUI.Lists.TreeListView.ProcessNodeSelection(TreeListViewNode node, Boolean performTest)at LidorSystems.IntegralUI.Lists.TreeListView.OnMouseDown(MouseEventArgs e)at System.Windows.Forms.Control.OnMouseDown(MouseEventArgs e)at System.Windows.Forms.Control.WmMouseDown(Message& m, MouseButtons button, Int32 clicks)at System.Windows.Forms.Control.WndProc(Message& m)at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Android Device: Nexus 6
Android OS: 5.1.1
App GLES Version: 2.0
Host System: Win 7 U 64bit
well, after serveral tries i found an work around
as dlls of Adreno Profiler can be opened by reflector, one can use Reflexil to add patch.
my reflector cannot open QXProfilerCompatibilityCS.dll(quite weird, ilspy can) which contains malfunctioning method QXProfiler.Tokens.TokenGL3APIPushDebugGroupKHR.GetName(), so patch QXProfilerControlsCS.dll
open QXProfilerControlsCS.dll, find TraceViewES20.RedrawStateCalls, in Reflexil, add Exception Handler From
(115)callvirt System.String QXProfiler.Containers.IContainerData::LogData()
to
(116) call System.String System.String::Copy(System.String)
no more exception and content of api calls come back!