Forums - Profiler Occasionally Crash When viewing Render Call

2 posts / 0 new
Last post
Profiler Occasionally Crash When viewing Render Call
kingiii003
Join Date: 21 Jan 16
Posts: 2
Posted: Wed, 2016-01-27 11:48

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

Quote:

System.ArgumentNullException: Array cannot be null.
Parameter name: bytes
   at 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

  • Up0
  • Down0
kingiii003
Join Date: 21 Jan 16
Posts: 2
Posted: Tue, 2016-04-12 01:50

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!

  • Up0
  • Down0
or Register

Opinions expressed in the content posted here are the personal opinions of the original authors, and do not necessarily reflect those of Qualcomm Incorporated or its subsidiaries (“Qualcomm”). The content is provided for informational purposes only and is not meant to be an endorsement or representation by Qualcomm or any other party. This site may also provide links or references to non-Qualcomm sites and resources. Qualcomm makes no representations, warranties, or other commitments whatsoever about any non-Qualcomm sites or third-party resources that may be referenced, accessible from, or linked to this site.