Using BackTrace to Debug a Memory Access Violation

Hi,

I have a memory access violation and my PLC is stuck in service mode. Data was sent from a 3rd party machine via OPCUA and I suspect somewhere in PLC program there is an issue with how this information is processed. I have tried to look for obvious clues. Wondering if there is a resource I can use which defines what I am looking at (Name, Address, Call Address, EXCEPTION POSITION:) etc.

Everything in the logger has a green arrow beside it.
Backtrace Data

 Name: "_exit" / Address: 0x165c26c3 / Call Address: 0x165c2cb0
  EXCEPTION POSITION: Module: "01_IPM" / Offset: 0x000a1b1d
  FUNCTION START POSITION: Module: "01_IPM" / Offset: 0x000a1b03
  CALLSTACK POSITION: Module: "01_IPM" / Offset: 0x000a20f0
 Name: "abort" / Address: 0x165c2c90 / Call Address: 0x165284f1
  FUNCTION START POSITION: Module: "01_IPM" / Offset: 0x000a20d0
  CALLSTACK POSITION: Module: "01_IPM" / Offset: 0x00007931
 Name: "Write" / Address: 0x165284ec / Call Address: 0x165285df
  FUNCTION START POSITION: Module: "01_IPM" / Offset: 0x0000792c
  CALLSTACK POSITION: Module: "01_IPM" / Offset: 0x00007a1f
 Name: "_ZN10__cxxabiv112__unexpectedEPFvvE" / Address: 0x165285e0 / Call Address: 0x16528719
  FUNCTION START POSITION: Module: "01_IPM" / Offset: 0x00007a20
  CALLSTACK POSITION: Module: "01_IPM" / Offset: 0x00007b59
 Name: "__cxa_throw" / Address: 0x165286b0 / Call Address: 0x165287fe
  FUNCTION START POSITION: Module: "01_IPM" / Offset: 0x00007af0
  CALLSTACK POSITION: Module: "01_IPM" / Offset: 0x00007c3e
 Name: "Write" / Address: 0x165287f3 / Call Address: 0x16524783 / Param Count: 2 / Parameter: 0x00000000, 0x00000001
  FUNCTION START POSITION: Module: "01_IPM" / Offset: 0x00007c33
  CALLSTACK POSITION: Module: "01_IPM" / Offset: 0x00003bc3
 Name: "IpmSlotBase" / Address: 0x16524612 / Call Address: 0x16523fc7 / Param Count: 6 / Parameter: 0x165e14ac, 0x00000000, 0x00000000, 0x000c0001, 0x00000000, 0x00000000
  FUNCTION START POSITION: Module: "01_IPM" / Offset: 0x00003a52
  CALLSTACK POSITION: Module: "01_IPM" / Offset: 0x00003407
 Name: "IpmSlotBase" / Address: 0x16523fbf / Call Address: 0x165d9f1b / Param Count: 6 / Parameter: 0x33333601, 0x00000000, 0x165e2210, 0x00000000, 0x00000000, 0x00000000
  FUNCTION START POSITION: Module: "01_IPM" / Offset: 0x000033ff
  CALLSTACK POSITION: Module: "01_IPM" / Offset: 0x000b935b
 Name: "Write" / Address: 0x165d9d2b / Call Address: 0x06069998 / Param Count: 4 / Parameter: 0x00000000, 0x00000000, 0x00000002, 0x00000000
  FUNCTION START POSITION: Module: "01_IPM" / Offset: 0x000b916b
 Name: "cypExecuteUserMainUpEx" / Address: 0x0606993c / Call Address: 0x0606e9ab
 Address: 0x0606e7ec / Call Address: 0x060e0cdc

Hi Adam,

if you click on the entries with the green arrow the editor should jump to the source code:

see Backtrace in Online Help

Hi,

I also had issues with memory access violation. This post helped me to get more information about the cause by using the IECcheck library: Troubleshooting Page Faults - Share Info & Ideas - B&R Community

Maybe it will help you too.