Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
363 views
in Technique[技术] by (71.8m points)

unity3d - Debugging standalone Unity build with windbg - is it possible to get c# level information from native debugging?

I have a repeating crash in build - on loading a specific scene. Tried building the scene time after time while gradually removing content but when it seemed that I have found a faulty game object, it started crashing again next day.

I started debugging with windbg (either live build and dump file), and it appears it has something to do with physx, but it doesn't tell me much more as I don't know c++ at all. Is there any way to get higher level information? It would be great if I could somehow extract object name or ID.

Here is Exception Analysis from windbg.

*******************************************************************************
*                                                                             *
*                        Exception Analysis                                   *
*                                                                             *
*******************************************************************************


KEY_VALUES_STRING: 1

    Key  : AV.Dereference
    Value: NullClassPtr

    Key  : AV.Fault
    Value: Read

    Key  : Analysis.CPU.mSec
    Value: 5686

    Key  : Analysis.DebugAnalysisProvider.CPP
    Value: Create: 8007007e on SEBASTIAN

    Key  : Analysis.DebugData
    Value: CreateObject

    Key  : Analysis.DebugModel
    Value: CreateObject

    Key  : Analysis.Elapsed.mSec
    Value: 5902

    Key  : Analysis.Memory.CommitPeak.Mb
    Value: 867

    Key  : Analysis.System
    Value: CreateObject

    Key  : Timeline.Process.Start.DeltaSec
    Value: 134

    Key  : WER.OS.Branch
    Value: vb_release

    Key  : WER.OS.Timestamp
    Value: 2019-12-06T14:06:00Z

    Key  : WER.OS.Version
    Value: 10.0.19041.1

    Key  : WER.Process.Version
    Value: 9.14.701.0


ADDITIONAL_XML: 1

OS_BUILD_LAYERS: 1

CONTEXT:  (.ecxr)
rax=0000000000000004 rbx=00000079c15ff960 rcx=00000079c15ff4d8
rdx=fffffffffffffffe rsi=0000000000000001 rdi=0000000000000001
rip=00007ffa86e69538 rsp=00000079c15feee0 rbp=00000079c15fef90
 r8=0000000000000006  r9=0000000000000005 r10=0000000000000000
r11=0000000000000000 r12=0000000000000000 r13=00000079c15fef10
r14=0000000000000006 r15=0000000000000020
iopl=0         nv up ei ng nz na pe cy
cs=0033  ss=002b  ds=002b  es=002b  fs=0053  gs=002b             efl=00010283
UnityPlayer!physx::Dy::SortBoundsPredicateManifold::operator()+0x8 [inlined in UnityPlayer!physx::shdfnd::sort<physx::Dy::ContactPatch * __ptr64,physx::Dy::SortBoundsPredicateManifold,physx::shdfnd::ReflectionAllocator<physx::Dy::ContactPatch * __ptr64> >+0x178]:
00007ffa`86e69538 0f2f4018        comiss  xmm0,dword ptr [rax+18h] ds:00000000`0000001c=????????
Resetting default scope

EXCEPTION_RECORD:  (.exr -1)
ExceptionAddress: 00007ffa86e69538 (UnityPlayer!physx::Dy::SortBoundsPredicateManifold::operator()+0x0000000000000008)
   ExceptionCode: c0000005 (Access violation)
  ExceptionFlags: 00000000
NumberParameters: 2
   Parameter[0]: 0000000000000000
   Parameter[1]: 000000000000001c
Attempt to read from address 000000000000001c

PROCESS_NAME:  Land_of_War_2019.exe

READ_ADDRESS:  000000000000001c 

ERROR_CODE: (NTSTATUS) 0xc0000005 - Instrukcja w 0x%p odwo a a si  do pami ci pod adresem 0x%p. Pami   nie mo e by  %s.

EXCEPTION_CODE_STR:  c0000005

EXCEPTION_PARAMETER1:  0000000000000000

EXCEPTION_PARAMETER2:  000000000000001c

STACK_TEXT:  
00000079`c15feee0 00007ffa`86e7a756     : 00000000`00000001 858affff`ffffff00 00000079`c15ff198 ffffffff`858affff : UnityPlayer!physx::shdfnd::sort<physx::Dy::ContactPatch * __ptr64,physx::Dy::SortBoundsPredicateManifold,physx::shdfnd::ReflectionAllocator<physx::Dy::ContactPatch * __ptr64> >+0x178
00000079`c15feff0 00007ffa`86e77ead     : 00000079`c15ff3b0 000001bd`7daea550 000001bd`798ada80 00000000`00000004 : UnityPlayer!physx::Dy::ContactReduction<6>::reduceContacts+0x306
00000079`c15ff190 00007ffa`86e7bd19     : 000001c1`3a37ec40 000001bc`2d02c4e0 000001bc`82a66840 000001bd`00000006 : UnityPlayer!physx::Dy::PxsSolverConstraintPostProcessTask::mergeContacts+0x32d
00000079`c15ffad0 00007ffa`86dafec2     : 00000000`00001f80 000001c1`38c8e170 00000000`00000001 000001bd`00000048 : UnityPlayer!physx::Dy::PxsSolverConstraintPostProcessTask::runInternal+0x79
00000079`c15ffb00 00007ffa`862120f4     : 000001c1`00009fc0 000001c1`38c8e170 00000000`00000001 000001bb`e3da6750 : UnityPlayer!physx::Cm::BaseTask::run+0x22
00000079`c15ffb30 00007ffa`85e68e99     : 000001c1`38c8ce10 000001bc`201b7580 000001c1`38c8e170 00000000`001f3de9 : UnityPlayer!PhysxJobFunc+0x94
00000079`c15ffbf0 00007ffa`85e6b0f2     : 000001c1`38c8e170 ffffffff`ffffffff 00000000`0000000c 00000000`00000000 : UnityPlayer!JobQueue::Exec+0x69
00000079`c15ffc40 00007ffa`85e6ff1c     : 000001bc`201b7580 00000000`00000004 000001bc`201b7960 000001bc`2001a1e8 : UnityPlayer!JobQueue::ProcessJobs+0x192
00000079`c15ffc80 00007ffa`861ba3bd     : 00000000`00000003 00000079`c15ffd59 000001bc`2001a1e8 00000000`00000000 : UnityPlayer!JobQueue::WorkLoop+0xbc
00000079`c15ffcc0 00007ffa`f9e47034     : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : UnityPlayer!Thread::RunThreadWrapper+0x31d
00000079`c15ffdc0 00007ffa`fb1dd0d1     : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : kernel32!BaseThreadInitThunk+0x14
00000079`c15ffdf0 00000000`00000000     : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : ntdll!RtlUserThreadStart+0x21


FAULTING_SOURCE_LINE:  c:uildoutputunityphysxphysxsourcefoundationincludepssort.h

FAULTING_SOURCE_FILE:  c:uildoutputunityphysxphysxsourcefoundationincludepssort.h

FAULTING_SOURCE_LINE_NUMBER:  83

FAULTING_SOURCE_CODE:  
No source found for 'c:uildoutputunityphysxphysxsourcelowleveldynamicssrcdycontactreduction.h'


SYMBOL_NAME:  UnityPlayer!physx::shdfnd::sort<physx::Dy::ContactPatch * __ptr64,physx::Dy::SortBoundsPredicateManifold,physx::shdfnd::ReflectionAllocator<physx::Dy::ContactPatch * __ptr64> >+178

MODULE_NAME: UnityPlayer

IMAGE_NAME:  UnityPlayer.dll

STACK_COMMAND:  ~10s ; .ecxr ; kb

FAILURE_BUCKET_ID:  NULL_CLASS_PTR_READ_c0000005_UnityPlayer.dll!physx::shdfnd::sort_physx::Dy::ContactPatch_*___ptr64,physx::Dy::SortBoundsPredicateManifold,physx::shdfnd::ReflectionAllocator_physx::Dy::ContactPatch_*___ptr64___

OS_VERSION:  10.0.19041.1

BUILDLAB_STR:  vb_release

OSPLATFORM_TYPE:  x64

OSNAME:  Windows 10

IMAGE_VERSION:  2019.4.17.31878

FAILURE_ID_HASH:  {349dea00-0919-7705-4239-ccc28e83e521}

Followup:     MachineOwner
---------

Thanks in advance for any advice!


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)
等待大神答复

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...