0

I have a bug somewhere in the program. I'm using Qt Creator. While debugging, it opens the Disassembler and the cursor goes to the following line:

0x7fffedc43b8c                   f0 ff 03              lock incl (%rbx)

How should I read this?

I guess Qt Creator is trying to help me but I cannot undertand how to use that information.

How should I use that information?

rollstuhlfahrer
  • 3,988
  • 9
  • 25
  • 38
谷维鑫
  • 1
  • 1
  • just guessing, because you didn't include all vital details: looks like some atomic lock trying to manipulate with the lock instance in memory which is already released. How you should read it: ` lock incl (%rbx)` is Intel CPU instruction, incrementing 32 bit memory value at address `rbx` (64 bit value stored in CPU register `rbx` is used as memory address) by one with `lock` prefix to make the `inc` atomic on multi-processor platform. And the memory at address in `rbx` does not belong to the process I guess. Can be millions of possibilities, what is wrong with your source. – Ped7g Mar 26 '18 at 10:25
  • How to use this information: not easy, try first to recognize which thread and in which module/source part it did crash, ideally on which line... then review the source and try to understand which instance was expected to be valid in memory, and check why it was not valid any more, then fix the code logic to be valid. – Ped7g Mar 26 '18 at 10:26
  • It's an atomic increment. https://stackoverflow.com/questions/39393850/can-num-be-atomic-for-int-num – Peter Cordes Mar 26 '18 at 22:09

0 Answers0