Decoding video packets received from TCPReplay using C++/Qt - c++

I have a PCAP file having the encoded video data. I am using TCPReplay to broadcast this PCAP data to my server where I have written a QT UDP socket program to receive these packets successfully and stored their data in a QByteArray.
Here I am using PCAP file and TCPReplay as a simulator. In reality these packets will be received from another process/server.
Problem:
I would like to decode these received packets.
How can I decode these packets in C++/Qt ?
What data structure to use? Do I need to involve any FFMPEG or Gstreamer APIs?
I am completely new to video decoding so please elaborate answer with some sample code.
These are my incoming bytes:
00 0C 29 02 E2 F7 04 91 62 CA 68 51 08 00 45 00 05 BA 00 00 00 00 80 11 5F F4 0A 00 02 0F C0 A8 08 88 C3 51 C3 51 05 A6 00 00 54 50 54 82 00 00 40 01 01 01 05 88 91 5A FB 3B 37 90 CD C7 11 35 56 03 20 20 02 0B E2 00 0A 80 08 00 09 80 08 00 08 64 64 64 06 00 00 00 00 00 00 00 00 00 00 00 64 64 64 64 64 64 FF FF 64 64 64 64 64 64 FF FF 64 64 64 64 64 64 F8 02 00 00 00 00 00 00 04 00 64 64 64 64 64 64 FF FF 64 64 64 64 64 64 FF FF 64 64 64 64 64 64 FF FF 64 64 64 64 64 64 FF FF 64 64 64 64 64 64 FF FF 64 64 64 64 64 64 FF FF 64 64 64 64 64 64 AC E1 00 00 00 00 00 66 00 01 5C 80 FF 80 80 FF 00 01 80 80 FF 80 80 FF 00 02 5C 33 00 00 00 00 00 01 64 64 64 64 64 64 03 EB 00 FF 00 00 FF 00 00 04 00 FF 00 00 00 00 00 01 64 64 64 64 64 64 00 0B 00 00 00 00 00 66 00 01 5C 80 FF 80 80 B6 00 01 33 00 00 00 00 00 00 01 64 64 64 64 64 64 00 0D 00 00 66 5C 80 FF 00 01 80 80 B6 33 00 66 00 01 5C 80 FF 80 80 B6 00 01 33 00 00 00 00 00 00 01 64 64 64 64 64 64 03 DC 00 FF 00 00 00 00 00 01 64 64 64 64 64 64 00 03 00 FF 00 00 00 00 00 01 64 64 64 64 64 64 00 0B 00 00 00 00 00 66 00 01 5C 80 FF 80 80 B6 00 01 33 00 00 00 00 00 00 01 64 64 64 64 64 64 00 0E 00 00 00 00 00 66 00 01 5C 80 FF 80 80 B6 00 01 33 00 00 00 00 00 00 01 64 64 64 64 64 64 03 DC 00 FF 00 00 00 00 00 01 64 64 64 64 64 64 00 03 00 FF 00 00 00 00 00 01 64 64 64 64 64 64 00 0B 00 00 00 00 00 66 00 01 5C 80 FF 80 80 B6 00 01 33 00 00 00 00 00 00 01 64 64 64 64 64 64 00 01 1D 48 DB 80 80 FF 00 01 80 80 FF 80 80 FF 00 01 80 80 FF 80 80 B6 00 01 33 00 3A 48 6E FF 00 01 80 80 FF 6E 48 3A 00 01 00 00 3A 48 6E FF 00 01 80 80 FF 6E 48 3A 00 01 00 00 66 5C 80 FF 00 01 80 80 FF 80 80 FF 00 01 80 80 FF 5C 33 00 00 01 00 00 66 5C 80 FF 00 01 80 80 FF 80 80 FF 00 02 80 80 B6 5C 5C FF 00 01 80 80 FF 80 80 FF 00 01 80 80 B6 33 00 00 00 01 00 00 66 5C 80 FF 00 01 80 80 FF 80 80 FF 00 01 80 80 FF 80 5C 66 00 01 00 00 00 00 33 B6 00 01 80 80 FF 80 80 FF 00 01 80 80 FF 80 6E 90 00 01 1D 00 00 00 00 00 00 01 64 64 64 64 64 64 03 D5 00 FF 00 00 00 00 00 01 64 64 64 64 64 64 00 03 00 FF 00 00 00 00 00 01 64 64 64 64 64 64 00 0B 00 00 00 00 00 66 00 01 5C 80 FF 80 80 FF 00 01 80 80 FF 80 80 FF 00 01 80 80 FF 80 5C 66 00 01 64 64 64 64 64 64 00 02 1D 48 DB 80 80 FF 00 01 6E 48 3A 00 1D 90 00 01 6E 80 FF 80 6E 90 00 01 1D 1D 90 6E 80 FF 00 01 80 80 B6 33 00 3A 00 01 48 6E FF 80 80 FF 00 01 6E 48 3A 00 00 66 00 01 5C 80 FF 80 80 DB 00 01 48 1D 66 5C 80 FF 00 01 80 80 FF 5C 33 00 00 01 00 00 66 5C 80 FF 00 01 80 80 B6 33 00 66 00 01 5C 80 FF 80 80 B6 00 01 33 00 00 00 00 3A 00 01 48 6E FF 80 80 DB 00 01 48 1D 00 00 00 00 00 01 33 5C FF 80 80 FF 00 01 6E 48 66 48 6E FF 00 01 80 80 DB 48 1D 00 00 01 33 5C FF 80 80 FF 00 01 6E 48 3A 00 00 00 00 01 64 64 64 64 64 64 00 0B 00 00 00 02 05 17 00 01 64 64 64 64 64 64 03 C9 00 FF 00 00 00 00 00 01 FF FF 00 FF FF 00 00 02 FF FF 00 00 00 00 00 01 00 FF 00 00 00 00 00 01 64 64 64 64 64 64 00 0B 00 00 00 00 00 66 00 01 5C 80 FF 80 80 B6 00 01 33 00 00 00 00 00 00 01 64 64 64 64 64 64 00 01 00 00 3A 48 6E FF 00 01 80 80 FF 80 80 FF 00 02 6E 48 3A 00 00 3A 00 01 48 6E FF 80 80 FF 00 01 80 80 FF 80 80 FF 00 01 80 5C 66 00 00 66 00 01 5C 80 FF 80 80 B6 00 01 33 00 00 00 00 00 00 01 1D 48 DB 80 80 FF 00 01 6E 48 90 5C 80 FF 00 01 80 80 B6 33 00 00 00 01 00 00 66 5C 80 FF 00 01 80 80 B6 33 00 66 00 01 5C 80 FF 80 80 B6 00 01 33 00 00 00 00 66 00 01 5C 80 FF 80 80 FF 00 01 80 80 FF 80 80 FF 00 02 80 5C 66 33 5C FF 00 01 80 80 FF 80 80 FF 00 01 80 6E 90 1D 00 00 00 01 64 64 64 64 64 64 00 0C 00 00 00 02 05 17 00 01 02 04 13 00 01 05 00 01 64 64 64 64 64 64 03 C8 00 FF 00 00 00 00 00 01 64 64 64 64 64 64 00 03 00 FF 00 00 00 00 00 01 64 64 64 64 64 64 00 0B 00 00 00 00 00 66 00 01 5C 80 FF 80 80 B6 00 01 33 00 00 00 00 00 00 01 00 00 00 00 00 3A 00 01 48 6E FF 80 80 FF 00 01 5C 33 00 00 00 00 00 01 1D 48 DB 80 80 FF 00 01 6E 48 3A 00 00 00 00 01 1D 48 DB 80 80 FF 00 01 80 80 FF 80 80 DB 00 01 48 1D 00 00 00 66 00 01 5C 80 FF 80 80 B6 00 01 33 00 00 00 00 00 00 01 1D 48 DB 80 80 FF 00 01 6E 48 90 5C 80 FF 00 01 80 80 B6 33 00 00 00 01 00 00 66 5C 80 FF 00 01 80 80 B6 33 00 66 00 01 5C 80 FF 80 80 B6 00 01 33 00 00 00 1D 90 00 01 6E 80 FF 80 80 B6 00 01 33 00 00 00 00 00 00 01 64 64 64 64 64 64 00 02 00 00 00 00 33 B6 00 01 80 80 FF 80 80 FF 00 01 80 5C 66 00 00 00 00 01 64 64 64 64 64 64 00 0B 00 00 00 02 05 17 00 01 E5 E6 E8 02 04 13 00 01 64 64 64 64 64 64 03 C8 00 FF 00 00 00 00 00 01 64 64 64 64 64 64 00 03
Below is a hex view copied from Wireshark:
0000 00 0c 29 02 e2 f7 04 91 62 ca 68 51 08 00 45 00 ..).....b.hQ..E.
0010 05 ba 00 00 00 00 80 11 5f f4 0a 00 02 0f c0 a8 ........_.......
0020 08 88 c3 51 c3 51 05 a6 00 00 54 50 54 82 00 00 ...Q.Q....TPT...
0030 40 01 01 01 05 88 91 5a fb 3b 37 90 cd c7 11 35 #......Z.;7....5
0040 56 03 20 20 02 0b e2 00 0a 80 08 00 09 80 08 00 V. ............
0050 08 64 64 64 06 00 00 00 00 00 00 00 00 00 00 00 .ddd............
0060 64 64 64 64 64 64 ff ff 64 64 64 64 64 64 ff ff dddddd..dddddd..
0070 64 64 64 64 64 64 f8 02 00 00 00 00 00 00 04 00 dddddd..........
0080 64 64 64 64 64 64 ff ff 64 64 64 64 64 64 ff ff dddddd..dddddd..
0090 64 64 64 64 64 64 ff ff 64 64 64 64 64 64 ff ff dddddd..dddddd..
00a0 64 64 64 64 64 64 ff ff 64 64 64 64 64 64 ff ff dddddd..dddddd..
00b0 64 64 64 64 64 64 ac e1 00 00 00 00 00 66 00 01 dddddd.......f..
00c0 5c 80 ff 80 80 ff 00 01 80 80 ff 80 80 ff 00 02 \...............
00d0 5c 33 00 00 00 00 00 01 64 64 64 64 64 64 03 eb \3......dddddd..
00e0 00 ff 00 00 ff 00 00 04 00 ff 00 00 00 00 00 01 ................
00f0 64 64 64 64 64 64 00 0b 00 00 00 00 00 66 00 01 dddddd.......f..
0100 5c 80 ff 80 80 b6 00 01 33 00 00 00 00 00 00 01 \.......3.......
0110 64 64 64 64 64 64 00 0d 00 00 66 5c 80 ff 00 01 dddddd....f\....
0120 80 80 b6 33 00 66 00 01 5c 80 ff 80 80 b6 00 01 ...3.f..\.......
0130 33 00 00 00 00 00 00 01 64 64 64 64 64 64 03 dc 3.......dddddd..
0140 00 ff 00 00 00 00 00 01 64 64 64 64 64 64 00 03 ........dddddd..
0150 00 ff 00 00 00 00 00 01 64 64 64 64 64 64 00 0b ........dddddd..
0160 00 00 00 00 00 66 00 01 5c 80 ff 80 80 b6 00 01 .....f..\.......
0170 33 00 00 00 00 00 00 01 64 64 64 64 64 64 00 0e 3.......dddddd..
0180 00 00 00 00 00 66 00 01 5c 80 ff 80 80 b6 00 01 .....f..\.......
0190 33 00 00 00 00 00 00 01 64 64 64 64 64 64 03 dc 3.......dddddd..
01a0 00 ff 00 00 00 00 00 01 64 64 64 64 64 64 00 03 ........dddddd..
01b0 00 ff 00 00 00 00 00 01 64 64 64 64 64 64 00 0b ........dddddd..
01c0 00 00 00 00 00 66 00 01 5c 80 ff 80 80 b6 00 01 .....f..\.......
01d0 33 00 00 00 00 00 00 01 64 64 64 64 64 64 00 01 3.......dddddd..
01e0 1d 48 db 80 80 ff 00 01 80 80 ff 80 80 ff 00 01 .H..............
01f0 80 80 ff 80 80 b6 00 01 33 00 3a 48 6e ff 00 01 ........3.:Hn...
0200 80 80 ff 6e 48 3a 00 01 00 00 3a 48 6e ff 00 01 ...nH:....:Hn...
0210 80 80 ff 6e 48 3a 00 01 00 00 66 5c 80 ff 00 01 ...nH:....f\....
0220 80 80 ff 80 80 ff 00 01 80 80 ff 5c 33 00 00 01 ...........\3...
0230 00 00 66 5c 80 ff 00 01 80 80 ff 80 80 ff 00 02 ..f\............
0240 80 80 b6 5c 5c ff 00 01 80 80 ff 80 80 ff 00 01 ...\\...........
0250 80 80 b6 33 00 00 00 01 00 00 66 5c 80 ff 00 01 ...3......f\....
0260 80 80 ff 80 80 ff 00 01 80 80 ff 80 5c 66 00 01 ............\f..
0270 00 00 00 00 33 b6 00 01 80 80 ff 80 80 ff 00 01 ....3...........
0280 80 80 ff 80 6e 90 00 01 1d 00 00 00 00 00 00 01 ....n...........
0290 64 64 64 64 64 64 03 d5 00 ff 00 00 00 00 00 01 dddddd..........
02a0 64 64 64 64 64 64 00 03 00 ff 00 00 00 00 00 01 dddddd..........
02b0 64 64 64 64 64 64 00 0b 00 00 00 00 00 66 00 01 dddddd.......f..
02c0 5c 80 ff 80 80 ff 00 01 80 80 ff 80 80 ff 00 01 \...............
02d0 80 80 ff 80 5c 66 00 01 64 64 64 64 64 64 00 02 ....\f..dddddd..
02e0 1d 48 db 80 80 ff 00 01 6e 48 3a 00 1d 90 00 01 .H......nH:.....
02f0 6e 80 ff 80 6e 90 00 01 1d 1d 90 6e 80 ff 00 01 n...n......n....
0300 80 80 b6 33 00 3a 00 01 48 6e ff 80 80 ff 00 01 ...3.:..Hn......
0310 6e 48 3a 00 00 66 00 01 5c 80 ff 80 80 db 00 01 nH:..f..\.......
0320 48 1d 66 5c 80 ff 00 01 80 80 ff 5c 33 00 00 01 H.f\.......\3...
0330 00 00 66 5c 80 ff 00 01 80 80 b6 33 00 66 00 01 ..f\.......3.f..
0340 5c 80 ff 80 80 b6 00 01 33 00 00 00 00 3a 00 01 \.......3....:..
0350 48 6e ff 80 80 db 00 01 48 1d 00 00 00 00 00 01 Hn......H.......
0360 33 5c ff 80 80 ff 00 01 6e 48 66 48 6e ff 00 01 3\......nHfHn...
0370 80 80 db 48 1d 00 00 01 33 5c ff 80 80 ff 00 01 ...H....3\......
0380 6e 48 3a 00 00 00 00 01 64 64 64 64 64 64 00 0b nH:.....dddddd..
0390 00 00 00 02 05 17 00 01 64 64 64 64 64 64 03 c9 ........dddddd..
03a0 00 ff 00 00 00 00 00 01 ff ff 00 ff ff 00 00 02 ................
03b0 ff ff 00 00 00 00 00 01 00 ff 00 00 00 00 00 01 ................
03c0 64 64 64 64 64 64 00 0b 00 00 00 00 00 66 00 01 dddddd.......f..
03d0 5c 80 ff 80 80 b6 00 01 33 00 00 00 00 00 00 01 \.......3.......
03e0 64 64 64 64 64 64 00 01 00 00 3a 48 6e ff 00 01 dddddd....:Hn...
03f0 80 80 ff 80 80 ff 00 02 6e 48 3a 00 00 3a 00 01 ........nH:..:..
0400 48 6e ff 80 80 ff 00 01 80 80 ff 80 80 ff 00 01 Hn..............
0410 80 5c 66 00 00 66 00 01 5c 80 ff 80 80 b6 00 01 .\f..f..\.......
0420 33 00 00 00 00 00 00 01 1d 48 db 80 80 ff 00 01 3........H......
0430 6e 48 90 5c 80 ff 00 01 80 80 b6 33 00 00 00 01 nH.\.......3....
0440 00 00 66 5c 80 ff 00 01 80 80 b6 33 00 66 00 01 ..f\.......3.f..
0450 5c 80 ff 80 80 b6 00 01 33 00 00 00 00 66 00 01 \.......3....f..
0460 5c 80 ff 80 80 ff 00 01 80 80 ff 80 80 ff 00 02 \...............
0470 80 5c 66 33 5c ff 00 01 80 80 ff 80 80 ff 00 01 .\f3\...........
0480 80 6e 90 1d 00 00 00 01 64 64 64 64 64 64 00 0c .n......dddddd..
0490 00 00 00 02 05 17 00 01 02 04 13 00 01 05 00 01 ................
04a0 64 64 64 64 64 64 03 c8 00 ff 00 00 00 00 00 01 dddddd..........
04b0 64 64 64 64 64 64 00 03 00 ff 00 00 00 00 00 01 dddddd..........
04c0 64 64 64 64 64 64 00 0b 00 00 00 00 00 66 00 01 dddddd.......f..
04d0 5c 80 ff 80 80 b6 00 01 33 00 00 00 00 00 00 01 \.......3.......
04e0 00 00 00 00 00 3a 00 01 48 6e ff 80 80 ff 00 01 .....:..Hn......
04f0 5c 33 00 00 00 00 00 01 1d 48 db 80 80 ff 00 01 \3.......H......
0500 6e 48 3a 00 00 00 00 01 1d 48 db 80 80 ff 00 01 nH:......H......
0510 80 80 ff 80 80 db 00 01 48 1d 00 00 00 66 00 01 ........H....f..
0520 5c 80 ff 80 80 b6 00 01 33 00 00 00 00 00 00 01 \.......3.......
0530 1d 48 db 80 80 ff 00 01 6e 48 90 5c 80 ff 00 01 .H......nH.\....
0540 80 80 b6 33 00 00 00 01 00 00 66 5c 80 ff 00 01 ...3......f\....
0550 80 80 b6 33 00 66 00 01 5c 80 ff 80 80 b6 00 01 ...3.f..\.......
0560 33 00 00 00 1d 90 00 01 6e 80 ff 80 80 b6 00 01 3.......n.......
0570 33 00 00 00 00 00 00 01 64 64 64 64 64 64 00 02 3.......dddddd..
0580 00 00 00 00 33 b6 00 01 80 80 ff 80 80 ff 00 01 ....3...........
0590 80 5c 66 00 00 00 00 01 64 64 64 64 64 64 00 0b .\f.....dddddd..
05a0 00 00 00 02 05 17 00 01 e5 e6 e8 02 04 13 00 01 ................
05b0 64 64 64 64 64 64 03 c8 00 ff 00 00 00 00 00 01 dddddd..........
05c0 64 64 64 64 64 64 00 03 dddddd..

Related

Extract compress image from memo field

Dbf file in which the memo field contains the #SIXPIC# entry and a dbt file that contains binary data with #SIXPIC# tags
for example:
0000000000: 00 1A 0B 0C CE 9F 01 00 │ 49 49 2A 00 C0 9A 01 00 →♂♀Ο›☺ II* ��☺
0000000010: FF FF C0 04 00 40 FF FC │ A6 C9 0C F1 53 4F FF 80 ���♦ #����♀�SO��
0000000020: 08 00 80 29 B5 51 9B 17 │ FF FF 6A 23 F9 4D 96 08 ◘ �)�Q�↨��j#�M�◘
0000000030: 53 85 35 39 6D 12 85 09 │ D8 40 CC 81 85 2A A2 41 S�59m↕�○�#́›�*�A
0000000040: 10 20 D8 57 A0 F4 E5 7A │ F3 F9 78 B5 F4 02 FF 0B ► �W���z��x��☻�♂
0000000050: E5 70 C3 2D 07 F0 FC 8A │ 04 E9 FC 2F BB 84 1F FF �p�-•���♦��/��▼�
0000000060: 50 01 00 10 2B E8 19 45 │ AE E1 A4 4D 80 83 9A C3 P☺ ►+�↓E���M���Ò
0000000070: 92 03 99 08 0A 55 02 91 │ 40 9E FE 17 DF 4F FF AA ›♥�◘◙U☻�#��↨�O��
...
0000019F50: 00 00 21 03 00 00 68 02 │ 00 00 2E 02 00 00 FF 01 !♥ h☻ .☻ �☺
0000019F60: 00 00 13 02 00 00 F7 01 │ 00 00 06 02 00 00 D9 01 ‼☻ �☺ ♠☻ �☺
0000019F70: 00 00 7C 01 00 00 1B 01 │ 00 00 2A 01 00 00 17 01 |☺ ←☺ *☺ ↨☺
0000019F80: 00 00 ED 00 00 00 DF 00 │ 00 00 04 01 00 00 8C 01 � � ♦☺ �☺
0000019F90: 00 00 76 01 00 00 09 01 │ 00 00 E9 00 00 00 E9 00 v☺ ○☺ � �
0000019FA0: 00 00 83 00 00 00 77 00 │ 00 00 78 00 00 00 8C 00 � w x �
0000019FB0: 00 00 47 00 00 00 15 00 │ 00 00 88 00 00 00 06 00 G § � ♠
0000019FC0: 00 00 05 00 00 00 00 00 │ 80 25 00 00 20 00 00 00 ♣ �%
0000019FD0: 80 25 00 00 20 00 1A 01 │ 73 80 84 30 C1 B0 C1 40 �% →☺s��0���#
0000019FE0: 39 E0 E4 80 84 80 A7 69 │ 03 48 EA 1A 47 40 68 24 9�䀄››��i♥H�→G#h$
0000019FF0: 04 35 83 59 38 52 70 68 │ ♦5�Y8Rph
How to get an image from this code?

Finding 3 specific byte values within a set number of bytes of each other

I extracted a large number of bytes from an ISO into Notepad++ and ended up with 131,076 characters worth of space-separated values.
I would like to find where there occur at least three specific values within a fixed number of bytes of each other.
As an example, I would like the values 11, 12, and B4 to be highlighted if they are within 18 bytes (=53 characters) of each other, in this:
03 00 1F 06 01 15 12 10 00 00 00 00 00 05 00 00 00 00
04 00 3B 06 02 25 02 11 00 03 06 00 00 85 65 88 00 00
05 00 24 06 11 15 12 10 00 06 09 00 00 0C 7C 1A 00 00
06 00 41 04 12 24 01 11 00 00 00 00 00 42 00 00 00 00
07 00 26 03 11 15 12 01 00 00 00 00 00 B4 00 00 00 00
08 00 0E 06 10 15 11 11 00 08 00 00 00 CB 7C 00 00 00
09 00 0A 00 10 11 01 21 00 06 00 00 00 68 BD 00 00 00
0A 00 5B 07 10 10 20 11 00 00 00 00 00 3D 00 00 00 00
0B 00 40 00 12 24 01 12 00 00 00 00 00 00 00 00 00 00
The required result is the following, where the square brackets indicate which values need to be highlighted:
03 00 1F 06 01 15 12 10 00 00 00 00 00 05 00 00 00 00
04 00 3B 06 02 25 02 11 00 03 06 00 00 85 65 88 00 00
05 00 24 06 11 15 12 10 00 06 09 00 00 0C 7C 1A 00 00
06 00 41 04 12 24 01 11 00 00 00 00 00 42 00 00 00 00
07 00 26 03[11]15[12]01 00 00 00 00 00[B4]00 00 00 00
08 00 0E 06 10 15 11 11 00 08 00 00 00 CB 7C 00 00 00
09 00 0A 00 10 11 01 21 00 06 00 00 00 68 BD 00 00 00
0A 00 5B 07 10 10 20 11 00 00 00 00 00 3D 00 00 00 00
0B 00 40 00 12 24 01 12 00 00 00 00 00 00 00 00 00 00
Can this be done? (If not, is it possible to do so for only two values?)
Notes:
The values can appear in any order.
I don't want to clear the data around the values, just highlight them or make them stand out so that I can track and use the values to understand how a certain table works within an ISO.
The above example contains line-feeds/carriage returns just for readability. The actual data doesn't contain any - all the values are space-separated only.

Formatting a file using regex

Spent some time trying to format a file with roughly 5,000 hex values, however with no luck. For example
1b 00 10 50 a3 bb 0e b7 ff ff 00 00 00 00 09 00
01 02 00 01 00 85 03 0e 00 00 00 55 0e 04 66 03
2a 38 32 80 00 0e 00 2f c2
1b 00 10 50 a3 bb 0e b7 ff ff 00 00 00 00 09 00
01 02 00 01 00 85 03 2b 00 00 00 55 2b 04 58 28
2a 39 32 80 00 01 00 12 57 4d 32 34 30 20 41 43
20 56 65 72 2e 41 00 00 23 06 00 0a 23 06 00 0a
01 00 00 c0 14 56
1b 00 30 a6 59 b8 0e b7 ff ff 00 00 00 00 09 00
00 02 00 01 00 04 03 0d 00 00 00 55 0d 04 33 2a
03 3a 32 40 00 0e be 40
1b 00 f0 01 f1 b6 0e b7 ff ff 00 00 00 00 09 00
00 02 00 01 00 04 03 0e 00 00 00 55 0e 04 66 2a
00 3b 32 40 00 01 05 c9 b1
and so on..
I need to format in the following matter:
1b 00 10 50 a3 bb 0e b7 ff ff 00 00 00 00 09 00 01 02 00 01 00 85 03 0e 00 00 00 55 0e 04 66 03 2a 38 32 80 00 0e 00 2f c2
1b 00 10 50 a3 bb 0e b7 ff ff 00 00 00 00 09 00 01 02 00 01 00 85 03 2b 00 00 00 55 2b 04 58 28 2a 39 32 80 00 01 00 12 57 4d 32 34 30 20 41 43 20 56 65 72 2e 41 00 00 23 06 00 0a 23 06 00 0a 01 00 00 c0 14 56
1b 00 30 a6 59 b8 0e b7 ff ff 00 00 00 00 09 00 00 02 00 01 00 04 03 0d 00 00 00 55 0d 04 33 2a 03 3a 32 40 00 0e be 40
1b 00 f0 01 f1 b6 0e b7 ff ff 00 00 00 00 09 00 00 02 00 01 00 04 03 0e 00 00 00 55 0e 04 66 2a 00 3b 32 40 00 01 05 c9 b1
Basically put each hex block into one line still separated by space. For the life of me, i cannot figure out the regular expression to format this for me. I have tried different expressions but everything i tried either removes the line that separates hex blocks or grabs a last character of the line instead of the actual \n.
Maybe there is a better way of formatting files other than using regex
Please try regex: (?!\n\n)\n
Demo

(VS15 C++) Got a Visual Leak Detector report, but what now?

because of some (strange) problems in my C++-project I used Visual Leak Detector (for the first time), to check the project on memory leaks.
So I got i.a. the follwoing reports:
WARNING: Visual Leak Detector detected memory leaks!
---------- Block 4 at 0x004D07B0: 200 bytes ----------
Leak Hash: 0xD2D1B4A0, Count: 1, Total 200 bytes
Call Stack (TID 8796):
ucrtbase.dll!malloc()
f:\dd\vctools\crt\vcstartup\src\heap\new_scalar.cpp (19): LASS.exe!operator new() + 0x8 bytes
clr.dll!0x72D616E5()
Data:
28 75 14 03 00 00 00 00 01 00 00 00 00 00 00 00 (u...... ........
9A 99 99 99 99 99 B9 3F 50 00 00 00 0A 00 00 00 .......? P.......
00 00 00 00 F4 01 00 00 00 00 00 00 01 00 00 00 ........ ........
7B 14 AE 47 E1 7A 74 3F 14 00 00 00 BA FF FF FF {..G.zt? ........
00 00 00 00 F4 01 00 00 00 00 00 00 01 00 00 00 ........ ........
7B 14 AE 47 E1 7A 84 3F 00 00 00 00 64 00 00 00 {..G.z.? ....d...
00 00 00 00 01 00 00 00 14 00 00 00 46 00 00 00 ........ ....F...
00 00 00 00 64 00 00 00 00 00 00 00 F4 01 00 00 ....d... ........
01 00 00 00 B8 E2 13 03 F0 AD 18 03 00 00 00 00 ........ ........
C8 E2 13 03 C8 AB 18 03 00 00 00 00 78 E3 13 03 ........ ....x...
B8 AC 18 03 00 00 00 00 68 E2 13 03 E8 AC 18 03 ........ h.......
00 00 00 00 14 00 00 00 01 00 00 00 64 00 00 00 ........ ....d...
01 00 00 00 00 00 00 00 ........ ........
---------- Block 20 at 0x004D0880: 200 bytes ----------
Leak Hash: 0xD2D1B4A0, Count: 1, Total 200 bytes
Call Stack (TID 8796):
ucrtbase.dll!malloc()
f:\dd\vctools\crt\vcstartup\src\heap\new_scalar.cpp (19): LASS.exe!operator new() + 0x8 bytes
clr.dll!0x72D616E5()
Data:
78 74 14 03 00 00 00 00 01 00 00 00 00 00 00 00 xt...... ........
9A 99 99 99 99 99 B9 3F 50 00 00 00 0A 00 00 00 .......? P.......
00 00 00 00 F4 01 00 00 00 00 00 00 01 00 00 00 ........ ........
7B 14 AE 47 E1 7A 74 3F 14 00 00 00 BA FF FF FF {..G.zt? ........
00 00 00 00 F4 01 00 00 00 00 00 00 01 00 00 00 ........ ........
7B 14 AE 47 E1 7A 84 3F 00 00 00 00 64 00 00 00 {..G.z.? ....d...
00 00 00 00 01 00 00 00 14 00 00 00 46 00 00 00 ........ ....F...
00 00 00 00 64 00 00 00 00 00 00 00 F4 01 00 00 ....d... ........
01 00 00 00 38 E2 13 03 00 F0 15 03 00 00 00 00 ....8... ........
B8 E1 13 03 88 00 7F 05 00 00 00 00 08 E2 13 03 ........ ........
20 FF 7E 05 00 00 00 00 E8 E1 13 03 80 FF 7E 05 ..~..... ......~.
00 00 00 00 14 00 00 00 01 00 00 00 64 00 00 00 ........ ....d...
01 00 00 00 00 00 00 00 ........ ........
---------- Block 31 at 0x0053E1B8: 72 bytes ----------
Leak Hash: 0x3F88029B, Count: 1, Total 72 bytes
Call Stack (TID 8796):
ucrtbase.dll!malloc()
f:\dd\vctools\crt\vcstartup\src\heap\new_scalar.cpp (19): LASS.exe!operator new() + 0x8 bytes
clr.dll!0x72D616E5()
Data:
60 BC 55 00 40 3E 80 05 A0 3F 80 05 A0 3F 80 05 `.U.#>.. .?...?..
60 BB 55 00 20 34 18 03 00 00 00 00 00 00 00 00 `.U..4.. ........
00 00 00 00 20 00 00 00 2F 00 00 00 80 BC 55 00 ........ /.....U.
00 2E 18 03 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........
20 00 00 00 2F 00 00 00 ..../... ........
---------- Block 33 at 0x0055BB60: 8 bytes ----------
Leak Hash: 0xA49C5AA6, Count: 1, Total 8 bytes
Call Stack (TID 8796):
ucrtbase.dll!malloc()
f:\dd\vctools\crt\vcstartup\src\heap\new_scalar.cpp (19): LASS.exe!operator new() + 0x8 bytes
clr.dll!0x72D616E5()
Data:
C8 E1 53 00 00 00 00 00
..S..... ........
//And many more...
Unfortunatly I do not understand, what VLD wants to say is the problem.
With a double-click on the "f:\dd..."-lines it should set my courser to the line with the problem, shouldn´t it? But it dosen´t.
My question is now: How do I get to the area of the problem or in other words "how do I read these reports"?
In addition:
I use Visual Studio 2015
The project is a C++ Windows Forms Project
I included the vld.h in the additional includes and the lib-directory to the additional libraries of the project
In the main() I use #include <vld.h> and _CrtDumpMemoryLeaks();
EDIT:
My Main (a reduced version, but gives similar reports):
//some class-includes
#include <vld.h>
using namespace System;
using namespace System::Windows::Forms;
using namespace std;
#define _CRTDBG_MAP_ALLOC
#include <stdlib.h>
#include <crtdbg.h>
[STAThread]
void Main()
{
Application::EnableVisualStyles();
Application::SetCompatibleTextRenderingDefault(false);
Experiment* experiment = new Experiment();
Experiment_List* running_experiments = new Experiment_List();
while(!experiment->end) {
experiment= new Experiment();
LASS::MainWindow form(experiment, running_experiments);
form.ShowDialog();
if(!experiment->end){
running_experiments->register_experiment(experiment);
}
}
running_experimente->end_all();
_CrtDumpMemoryLeaks();
exit(0);
}
Unfortunatley there are about 40 classes, that I do not want to post...
I don't know where the problem exact is.
For me, it helps to run the program in RELEASE Mode, instead of DEBUG mode.
I suppose, my problem is the handling of managed and unmanaged code together.
I have unmanaged code inside managed code.
It seams as if CLR use a different new operator in Debug mode. Not as conform as the c++ standard.
According to: Using push_back() for STL List in C++ causes Access Violation, Crash
If you malloc() a C++ class, no constructors will be called for any of
that class's fields
And the VS will step into a constructor in class new_scalar.cpp.
Folks say that is depending of the Visual Leak Detector (VLD). You use them in your includes.
In the End, try to distinguish your code with
#pragma managed
and
#pragma unmanaged
And run in RELEASE mode.

Could this be a false positive memory leak report?

I am testing my dll that I created. It in turn use several other dlls. My Dll tester application reports memory leaks when I start the test application and exit without doing anything except loading dll using LoadLibrary. It doesn't show the exact files in my dll source code. There are no leaks if I don't load the dll. It is an MFC dll and has App class. I removed everything from the dll's app class so it does nothing but I still get memory leaks report when I load it. I created another set of dummy dll and test application but that doesn't report any leaks so it has to do with my original dll, perhaps its linkage with other dlls?
I have tried using _crtBreakAlloc = {allocation_#}; technique but it doesn't stop the debugger either. I am quite lost if this memory leak is real. I see from documentation it can report false positive. Could this be false positive just because my dll is linked to bunch of other dlls? I can't think of anything else because I have commented out all functionality from dll.
Here is the memory leak erros
Detected memory leaks!
Dumping objects ->
{250} client block at 0x00567E40, subtype c0, 64 bytes long.
a CDynLinkLibrary object at $00567E40, 64 bytes long
a CDynLinkLibrary object at $00567E40, 64 bytes long
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : {244} normal block at 0x00567C20, 28 bytes long.
Data: < x > E4 B8 07 78 05 00 00 00 05 00 00 00 01 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : {243} normal block at 0x00567BC8, 28 bytes long.
Data: < x > E4 B8 07 78 05 00 00 00 05 00 00 00 01 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : {242} normal block at 0x00567B58, 52 bytes long.
Data: < x > E4 B8 07 78 11 00 00 00 11 00 00 00 01 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : {241} normal block at 0x00566C08, 40 bytes long.
Data: < x > E4 B8 07 78 0B 00 00 00 0B 00 00 00 01 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : {240} normal block at 0x00566BA8, 32 bytes long.
Data: < x > E4 B8 07 78 07 00 00 00 07 00 00 00 01 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : {239} normal block at 0x00566B50, 28 bytes long.
Data: < x > E4 B8 07 78 05 00 00 00 05 00 00 00 01 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : {238} normal block at 0x00566AE0, 46 bytes long.
Data: < x > E4 B8 07 78 0E 00 00 00 0E 00 00 00 01 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : {237} normal block at 0x00566A70, 48 bytes long.
Data: < x > E4 B8 07 78 0F 00 00 00 0F 00 00 00 01 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : {235} normal block at 0x005676B0, 42 bytes long.
Data: < x > E4 B8 07 78 0C 00 00 00 0C 00 00 00 01 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : {234} normal block at 0x00567658, 22 bytes long.
Data: < x > E4 B8 07 78 02 00 00 00 02 00 00 00 01 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : {233} normal block at 0x00567600, 28 bytes long.
Data: < x > E4 B8 07 78 05 00 00 00 05 00 00 00 01 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : {232} normal block at 0x00567590, 50 bytes long.
Data: < x > E4 B8 07 78 10 00 00 00 10 00 00 00 01 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : {231} normal block at 0x00567538, 22 bytes long.
Data: < x > E4 B8 07 78 02 00 00 00 02 00 00 00 01 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : {230} normal block at 0x005674E0, 22 bytes long.
Data: < x > E4 B8 07 78 02 00 00 00 02 00 00 00 01 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : {229} normal block at 0x00567488, 22 bytes long.
Data: < x > E4 B8 07 78 02 00 00 00 02 00 00 00 01 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : {228} normal block at 0x00567430, 22 bytes long.
Data: < x > E4 B8 07 78 02 00 00 00 02 00 00 00 01 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : {227} normal block at 0x005673D8, 24 bytes long.
Data: < x > E4 B8 07 78 03 00 00 00 03 00 00 00 01 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : {226} normal block at 0x00567380, 22 bytes long.
Data: < x > E4 B8 07 78 02 00 00 00 02 00 00 00 01 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : {225} normal block at 0x00567328, 22 bytes long.
Data: < x > E4 B8 07 78 02 00 00 00 02 00 00 00 01 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : {224} normal block at 0x005672C0, 40 bytes long.
Data: < x > E4 B8 07 78 0B 00 00 00 0B 00 00 00 01 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : {223} normal block at 0x00567268, 22 bytes long.
Data: < x > E4 B8 07 78 02 00 00 00 02 00 00 00 01 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : {222} normal block at 0x00567200, 44 bytes long.
Data: < x > E4 B8 07 78 0D 00 00 00 0D 00 00 00 01 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : {221} normal block at 0x00567198, 38 bytes long.
Data: < x > E4 B8 07 78 0A 00 00 00 0A 00 00 00 01 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : {220} normal block at 0x00567140, 22 bytes long.
Data: < x > E4 B8 07 78 02 00 00 00 02 00 00 00 01 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : {219} normal block at 0x005670E8, 22 bytes long.
Data: < x > E4 B8 07 78 02 00 00 00 02 00 00 00 01 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : {218} normal block at 0x00567080, 38 bytes long.
Data: < x > E4 B8 07 78 0A 00 00 00 0A 00 00 00 01 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : {217} normal block at 0x00567028, 22 bytes long.
Data: < x > E4 B8 07 78 02 00 00 00 02 00 00 00 01 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : {216} normal block at 0x00566FD0, 24 bytes long.
Data: < x > E4 B8 07 78 03 00 00 00 03 00 00 00 01 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : {215} normal block at 0x00566F78, 24 bytes long.
Data: < x > E4 B8 07 78 03 00 00 00 03 00 00 00 01 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : {214} normal block at 0x00566F18, 36 bytes long.
Data: < x > E4 B8 07 78 09 00 00 00 09 00 00 00 01 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : {213} normal block at 0x00566EC0, 24 bytes long.
Data: < x > E4 B8 07 78 03 00 00 00 03 00 00 00 01 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : {212} normal block at 0x00566E68, 22 bytes long.
Data: < x > E4 B8 07 78 02 00 00 00 02 00 00 00 01 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : {211} normal block at 0x00566E10, 22 bytes long.
Data: < x > E4 B8 07 78 02 00 00 00 02 00 00 00 01 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : {210} normal block at 0x00566DB8, 22 bytes long.
Data: < x > E4 B8 07 78 02 00 00 00 02 00 00 00 01 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : {209} normal block at 0x00566D60, 24 bytes long.
Data: < x > E4 B8 07 78 03 00 00 00 03 00 00 00 01 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : {208} normal block at 0x00566D08, 22 bytes long.
Data: < x > E4 B8 07 78 02 00 00 00 02 00 00 00 01 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : {207} normal block at 0x00566CB0, 22 bytes long.
Data: < x > E4 B8 07 78 02 00 00 00 02 00 00 00 01 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : {206} normal block at 0x00561918, 22 bytes long.
Data: < x > E4 B8 07 78 02 00 00 00 02 00 00 00 01 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : {205} normal block at 0x005618C0, 22 bytes long.
Data: < x > E4 B8 07 78 02 00 00 00 02 00 00 00 01 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : {204} normal block at 0x00561868, 28 bytes long.
Data: < x > E4 B8 07 78 05 00 00 00 05 00 00 00 01 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : {202} normal block at 0x005669F8, 60 bytes long.
Data: < x > E4 B8 07 78 15 00 00 00 15 00 00 00 01 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : {201} normal block at 0x00566988, 46 bytes long.
Data: < x > E4 B8 07 78 0E 00 00 00 0E 00 00 00 01 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : {200} normal block at 0x00566920, 42 bytes long.
Data: < x > E4 B8 07 78 0C 00 00 00 0C 00 00 00 01 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : {199} normal block at 0x005668C8, 28 bytes long.
Data: < x > E4 B8 07 78 05 00 00 00 05 00 00 00 01 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : {198} normal block at 0x00566868, 32 bytes long.
Data: < x > E4 B8 07 78 07 00 00 00 07 00 00 00 01 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : {197} normal block at 0x00566800, 44 bytes long.
Data: < x > E4 B8 07 78 0D 00 00 00 0D 00 00 00 01 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : {196} normal block at 0x00566790, 50 bytes long.
Data: < x > E4 B8 07 78 10 00 00 00 10 00 00 00 01 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : {195} normal block at 0x00566718, 60 bytes long.
Data: < x > E4 B8 07 78 15 00 00 00 15 00 00 00 01 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : {194} normal block at 0x005666C0, 22 bytes long.
Data: < x > E4 B8 07 78 02 00 00 00 02 00 00 00 01 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : {193} normal block at 0x00566040, 48 bytes long.
Data: < x > E4 B8 07 78 0F 00 00 00 0F 00 00 00 01 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : {192} normal block at 0x00561C98, 22 bytes long.
Data: < x > E4 B8 07 78 02 00 00 00 02 00 00 00 01 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : {81} normal block at 0x00561BA0, 32 bytes long.
Data: < x > E4 B8 07 78 07 00 00 00 07 00 00 00 01 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : {80} normal block at 0x00561B48, 28 bytes long.
Data: < x > E4 B8 07 78 05 00 00 00 05 00 00 00 01 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : {79} normal block at 0x00561AE0, 44 bytes long.
Data: < x > E4 B8 07 78 0D 00 00 00 0D 00 00 00 01 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : {78} normal block at 0x00561A80, 34 bytes long.
Data: < x > E4 B8 07 78 08 00 00 00 08 00 00 00 01 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : {77} normal block at 0x00561A20, 30 bytes long.
Data: < x > E4 B8 07 78 06 00 00 00 06 00 00 00 01 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : {76} normal block at 0x005613D0, 22 bytes long.
Data: < x > E4 B8 07 78 02 00 00 00 02 00 00 00 01 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : {75} normal block at 0x005619A8, 56 bytes long.
Data: < x > E4 B8 07 78 13 00 00 00 13 00 00 00 01 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : {74} normal block at 0x00561378, 22 bytes long.
Data: < x > E4 B8 07 78 02 00 00 00 02 00 00 00 01 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : {72} normal block at 0x005617F8, 48 bytes long.
Data: < x > E4 B8 07 78 0F 00 00 00 0F 00 00 00 01 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : {71} normal block at 0x005617A0, 28 bytes long.
Data: < x > E4 B8 07 78 05 00 00 00 05 00 00 00 01 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : {70} normal block at 0x00561748, 22 bytes long.
Data: < x > E4 B8 07 78 02 00 00 00 02 00 00 00 01 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : {69} normal block at 0x005616D0, 54 bytes long.
Data: < x > E4 B8 07 78 12 00 00 00 12 00 00 00 01 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : {68} normal block at 0x00561670, 34 bytes long.
Data: < x > E4 B8 07 78 08 00 00 00 08 00 00 00 01 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : {67} normal block at 0x00561618, 22 bytes long.
Data: < x > E4 B8 07 78 02 00 00 00 02 00 00 00 01 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : {66} normal block at 0x005615B8, 36 bytes long.
Data: < x > E4 B8 07 78 09 00 00 00 09 00 00 00 01 00 00 00
Object dump complete.
Is there another way I can double check the memory leaks don't exist? I installed deleaker as well but it is buggy program, it holds on pdb files and was not releasing it...that caused me more pain.
According to the following MSKB article, this is probably expected:
Memory leaks are reported when you use multiple MFC DLLs
Quoting from the linked page:
These memory leaks are reported when multiple versions of the MFC DLL
are loaded in the same process. Since MFC extension (AFXDLL) DLLs
require the exact same MFC DLL as the call application, this problem
can only occur when using MFC regular (USRDLL) DLLs or ActiveX
Controls (OCX) that use the shared version of MFC.
The most common case is mixing ANSI (MFC4xd.DLL) and UNICODE
(MFC4xxUd.DLL) versions of MFC in the same process. This can also
occur when mixing MFC42d.DLL and MFC40d.DLL.
And as far as resolving the "problem" goes:
These memory leak notifications are false, and can be ignored. Since
neither copy of MFC knows about the other ones, it's not easy to stop
these false leaks from being reported.