Инструкция точки останова оператор debugbreak или аналогичный вызов выполнена

I have an infinite loop that breaks if user exits out of the main window. I have the following code running in the loop:

unsigned int* renderableShapeIndices = new unsigned int[aNumberCreatedAtRuntime];
// Do something
delete[] renderableShapeIndices;

Then the following happens a couple of loop iterations and cease to happen after the first iteration:

1st breakpoint:
A breakpoint instruction (__debugbreak() statement or a similar call) was executed in Main.exe.

2nd breakpoint:
Unhandled exception at 0x00007FF8C3B8C729 (ntdll.dll) in InTimeEngine2D.exe: 0xC0000374: A heap has been corrupted (parameters: 0x00007FF8C3BF7780).

Has anyone else gone through similar issues? I have no idea what is going on.

Another interesting factor about this is that it only happens in debug mode. It does not happen in release mode.

asked Jun 17, 2022 at 4:39

Christopher Barrios Agosto's user avatar

6

The answer to the problem is in the comment section of the question.

Apparently, if one attempts to write to an array outside of its bounds, it will, but it ends up overwriting data of other places in the code, causing bugs in other parts of the program, even if these two parts of the program are unrelated. In my case, they were completely unrelated.

answered Jun 17, 2022 at 5:28

Christopher Barrios Agosto's user avatar

4

Egefix

12 / 10 / 2

Регистрация: 24.05.2022

Сообщений: 115

1

03.06.2022, 01:52. Показов 6322. Ответов 2

Метки нет (Все метки)


Студворк — интернет-сервис помощи студентам

во время выполнения происходит это:

Critical error detected c0000374
Инструкция точки останова (оператор __debugbreak() или аналогичный вызов) выполнена в ConsoleApplication4.exe.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
    int g_folder[2]{-1, 0};
    int x[2];
    
    
        std::cout << "Введите количество дисков : ";
        std::cin >> x[0];
       
 
        std::cout << "Введите количество файлов : ";
        std::cin >> x[1];
     
    int* g_volumeFile;
    int* g_volumedDisk;
    g_volumeFile = new int[x[0]];
    g_volumedDisk = new int[x[1]];
    
    
    for (int i = 0; i < x[0]; ++i)
    {
        std::cout << "введите обьем диска  " << i + 1 << " = ";
        std::cin >> g_volumedDisk[i];
        
    }
 
    for (int i = 0; i < x[1]; ++i)
    {
        std::cout << "введите обьем файла  " << i + 1 << " = ";
        std::cin >> g_volumeFile[i];
        
    }

Название: план.jpg
Просмотров: 269

Размер: 46.0 Кб

Critical error detected c0000374



0



Egefix

12 / 10 / 2

Регистрация: 24.05.2022

Сообщений: 115

03.06.2022, 01:56

 [ТС]

2

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
    int g_folder[2]{-1, 0};
    int x[2];
    
    
        std::cout << "Введите количество дисков : ";
        std::cin >> x[0];
       
 
        std::cout << "Введите количество файлов : ";
        std::cin >> x[1];
     
    int* g_volumeFile;
    int* g_volumedDisk;
    g_volumeFile = new int[x[0]];
    g_volumedDisk = new int[x[1]];
    
    
    for (int i = 0; i < x[0]; ++i)
    {
        std::cout << "введите обьем диска  " << i + 1 << " = ";
        std::cin >> g_volumedDisk[i];
        
    }
 
    for (int i = 0; i < x[1]; ++i)
    {
        std::cout << "введите обьем файла  " << i + 1 << " = ";
        std::cin >> g_volumeFile[i];
        
    }

Добавлено через 3 минуты
Необработанное исключение по адресу 0x00007FFB887EF249 (ntdll.dll) в ConsoleApplication4.exe: 0xC0000374: Куча была повреждена (параметры: 0x00007FFB888577F0).

Добавлено через 30 секунд
как это исправить то?



0



Эксперт .NET

6409 / 3946 / 1578

Регистрация: 09.05.2015

Сообщений: 9,245

03.06.2022, 02:09

3

У вас в перепутаны длины массивов…



1



У меня есть бесконечный цикл, который прерывается, если пользователь выходит из главного окна. У меня в цикле работает следующий код:

unsigned int* renderableShapeIndices = new unsigned int[aNumberCreatedAtRuntime];
// Do something
delete[] renderableShapeIndices;

Затем происходит следующее через пару итераций цикла и перестает происходить после первой итерации:

1st breakpoint:
A breakpoint instruction (__debugbreak() statement or a similar call) was executed in Main.exe.

2nd breakpoint:
Unhandled exception at 0x00007FF8C3B8C729 (ntdll.dll) in InTimeEngine2D.exe: 0xC0000374: A heap has been corrupted (parameters: 0x00007FF8C3BF7780).

Кто-нибудь еще сталкивался с подобными проблемами? Я понятия не имею, что происходит.

Еще одним интересным фактором является то, что это происходит только в режиме отладки. Это не происходит в режиме выпуска.

1 ответ

Лучший ответ

Ответ на проблему находится в разделе комментариев вопроса.

По-видимому, если кто-то попытается записать в массив за пределами его границ, это произойдет, но в конечном итоге это приведет к перезаписи данных в других местах кода, что вызовет ошибки в других частях программы, даже если эти две части программы не связаны. . В моем случае они были совершенно не связаны.


0

Christopher Barrios Agosto
17 Июн 2022 в 08:28

Я вызываю импортированную функцию (через DllImport) библиотеки DLL, предоставленной производителем оборудования. Я получаю сообщение «обнаружена критическая ошибка c0000374. В ABC.exe была выполнена инструкция точки останова (оператор __debugbreak() или аналогичный вызов)».

Поскольку у меня нет доступа к исходному коду DLL, а производитель оборудования подтвердил, что в их коде нет __debugbreak(). Интересно, что пошло не так.

Вот вывод отладки, если это поможет. Это началось с функции, которую я пытался вызвать «R_CardID», а затем закончилось сообщением об ошибке. Кроме того, это происходит только при первом вызове, последующие вызовы не вызывают ошибку. Хотя это нормально в режиме отладки, но я не могу развернуть приложение, потому что в режиме выпуска приложение аварийно завершает работу, когда возникает ошибка.

      3a18:48cc @ 162306656 - LdrpGetProcedureAddress - INFO: Locating procedure "R_CardID" by name

3a18:48cc @ 162306656 - LdrpPreprocessDllName - INFO: DLL api-ms-win-security-isolationpolicy-l1-2-0.dll was redirected to C:WindowsSYSTEM32sechost.dll by API set
3a18:48cc @ 162306656 - LdrpLoadDllInternal - ENTER: DLL name: C:WindowsSYSTEM32sechost.dll
3a18:48cc @ 162306656 - LdrpLoadDllInternal - RETURN: Status: 0x00000000
3a18:48cc @ 162306656 - LdrpGetProcedureAddress - INFO: Locating procedure "GetEmbeddedImageMitigationPolicy" by name

3a18:1c34 @ 162306671 - LdrpPreprocessDllName - INFO: DLL api-ms-win-rtcore-ntuser-private-l1-1-4.dll was redirected to C:WindowsSYSTEM32user32.dll by API set
3a18:1c34 @ 162306671 - LdrpLoadDllInternal - ENTER: DLL name: C:WindowsSYSTEM32user32.dll
3a18:1c34 @ 162306671 - LdrpLoadDllInternal - RETURN: Status: 0x00000000
3a18:1c34 @ 162306671 - LdrpGetProcedureAddress - INFO: Loading procedure 0xa25 by ordinal
3a18:1c34 @ 162306828 - LdrGetDllHandleEx - ENTER: DLL name: oleaut32.dll
3a18:1c34 @ 162306828 - LdrpFindLoadedDllInternal - RETURN: Status: 0x00000000
3a18:1c34 @ 162306828 - LdrGetDllHandleEx - RETURN: Status: 0x00000000
3a18:1c34 @ 162306828 - LdrpCallTlsInitializers - INFO: Calling TLS callback 64752600 for DLL "C:WindowsSystem32DriverStoreFileRepositoryiigd_dch.inf_amd64_def655a57f98ffe7igc32.dll" at 63810000
3a18:1c34 @ 162306828 - LdrpCallTlsInitializers - INFO: Calling TLS callback 579CAAE0 for DLL "C:WindowsSYSTEM32UIAutomationCore.dll" at 57930000
3a18:1c34 @ 162306828 - LdrpCallTlsInitializers - INFO: Calling TLS callback 579CAB60 for DLL "C:WindowsSYSTEM32UIAutomationCore.dll" at 57930000
3a18:1c34 @ 162306828 - LdrpGetProcedureAddress - INFO: Locating procedure "DecodePointer" by name
3a18:1c34 @ 162306828 - LdrpLoadDllInternal - ENTER: DLL name: NTDLL.DLL
3a18:1c34 @ 162306828 - LdrpLoadDllInternal - RETURN: Status: 0x00000000

3a18:1c34 @ 162306828 - LdrpGetProcedureAddress - INFO: Locating procedure "RtlDecodePointer" by name
3a18:48cc @ 162306890 - LdrLoadDll - ENTER: DLL name: ntdll.dll
3a18:48cc @ 162306890 - LdrpLoadDllInternal - ENTER: DLL name: ntdll.dll
3a18:48cc @ 162306890 - LdrpLoadDllInternal - RETURN: Status: 0x00000000
3a18:48cc @ 162306890 - LdrLoadDll - RETURN: Status: 0x00000000

3a18:48cc @ 162306890 - LdrpGetProcedureAddress - INFO: Locating procedure "RtlGetNtSystemRoot" by name
3a18:02f0 @ 162307015 - LdrpAllocateTls - INFO: TlsVector 0E5C8368 Index 0 : 8 bytes copied from 75A680A0 to 0952EC58
3a18:02f0 @ 162307015 - LdrpAllocateTls - INFO: TlsVector 0E5C8368 Index 1 : 12 bytes copied from 75099000 to 0E8996C0
3a18:02f0 @ 162307015 - LdrpAllocateTls - INFO: TlsVector 0E5C8368 Index 2 : 8 bytes copied from 75F110CC to 0952ECA0
3a18:02f0 @ 162307015 - LdrpAllocateTls - INFO: TlsVector 0E5C8368 Index 3 : 8 bytes copied from 75E028E4 to 0952E9A0
3a18:02f0 @ 162307015 - LdrpAllocateTls - INFO: TlsVector 0E5C8368 Index 4 : 8 bytes copied from 76D848A4 to 0952E9D0
3a18:02f0 @ 162307015 - LdrpAllocateTls - INFO: TlsVector 0E5C8368 Index 5 : 8 bytes copied from 796AB9B4 to 0952E9E8
3a18:02f0 @ 162307015 - LdrpAllocateTls - INFO: TlsVector 0E5C8368 Index 6 : 8 bytes copied from 69140B7C to 0952EA00
3a18:02f0 @ 162307015 - LdrpAllocateTls - INFO: TlsVector 0E5C8368 Index 7 : 8 bytes copied from 57D1A000 to 0952EA18
3a18:02f0 @ 162307015 - LdrpAllocateTls - INFO: TlsVector 0E5C8368 Index 8 : 8 bytes copied from 72D25000 to 0952EA30
3a18:02f0 @ 162307015 - LdrpAllocateTls - INFO: TlsVector 0E5C8368 Index 9 : 12 bytes copied from 75654F04 to 0E899A20
3a18:02f0 @ 162307015 - LdrpAllocateTls - INFO: TlsVector 0E5C8368 Index 10 : 8 bytes copied from 6D67E3A8 to 0952EA48
3a18:02f0 @ 162307015 - LdrpAllocateTls - INFO: TlsVector 0E5C8368 Index 11 : 8 bytes copied from 6B74F75C to 0952EA60
3a18:02f0 @ 162307015 - LdrpAllocateTls - INFO: TlsVector 0E5C8368 Index 12 : 12 bytes copied from 732CEE90 to 0E899820
3a18:02f0 @ 162307015 - LdrpAllocateTls - INFO: TlsVector 0E5C8368 Index 13 : 8 bytes copied from 79846014 to 094D3F60
3a18:02f0 @ 162307015 - LdrpAllocateTls - INFO: TlsVector 0E5C8368 Index 14 : 8 bytes copied from 7691318C to 094D3EA0
3a18:02f0 @ 162307015 - LdrpAllocateTls - INFO: TlsVector 0E5C8368 Index 15 : 8 bytes copied from 7556D9E0 to 094D3EB8
3a18:02f0 @ 162307015 - LdrpAllocateTls - INFO: TlsVector 0E5C8368 Index 16 : 8 bytes copied from 6BECEA08 to 094D41E8
3a18:02f0 @ 162307015 - LdrpAllocateTls - INFO: TlsVector 0E5C8368 Index 17 : 8 bytes copied from 79A64C10 to 094D4200
3a18:02f0 @ 162307015 - LdrpAllocateTls - INFO: TlsVector 0E5C8368 Index 18 : 8 bytes copied from 79AD3538 to 094D4188
3a18:02f0 @ 162307015 - LdrpAllocateTls - INFO: TlsVector 0E5C8368 Index 19 : 8 bytes copied from 67877A3C to 094D41A0
3a18:02f0 @ 162307015 - LdrpAllocateTls - INFO: TlsVector 0E5C8368 Index 20 : 8 bytes copied from 5775B718 to 094D3510
3a18:02f0 @ 162307015 - LdrpAllocateTls - INFO: TlsVector 0E5C8368 Index 21 : 8 bytes copied from 564871CC to 094D32A0
3a18:02f0 @ 162307015 - LdrpAllocateTls - INFO: TlsVector 0E5C8368 Index 22 : 328 bytes copied from 57B0F9E0 to 09645648
3a18:02f0 @ 162307015 - LdrpAllocateTls - INFO: TlsVector 0E5C8368 Index 23 : 8 bytes copied from 60BBCDFC to 094D3498
3a18:02f0 @ 162307015 - LdrpAllocateTls - INFO: TlsVector 0E5C8368 Index 24 : 8 bytes copied from 7608123C to 094D3360
3a18:02f0 @ 162307015 - LdrpAllocateTls - INFO: TlsVector 0E5C8368 Index 25 : 8 bytes copied from 7BC50000 to 094D3258
3a18:02f0 @ 162307015 - LdrpAllocateTls - INFO: TlsVector 0E5C8368 Index 26 : 8 bytes copied from 7BFF3000 to 094D3468
3a18:02f0 @ 162307015 - LdrpAllocateTls - INFO: TlsVector 0E5C8368 Index 27 : 8 bytes copied from 628C6000 to 094D34B0
3a18:02f0 @ 162307015 - LdrpAllocateTls - INFO: TlsVector 0E5C8368 Index 28 : 8 bytes copied from 5C9CB0E8 to 094D32B8
3a18:02f0 @ 162307015 - LdrpAllocateTls - INFO: TlsVector 0E5C8368 Index 29 : 8 bytes copied from 57528364 to 094D32E8
3a18:02f0 @ 162307015 - LdrpAllocateTls - INFO: TlsVector 0E5C8368 Index 30 : 12 bytes copied from 6C46A440 to 0E8998C0
3a18:02f0 @ 162307015 - LdrpAllocateTls - INFO: TlsVector 0E5C8368 Index 31 : 164 bytes copied from 6C2FC880 to 0961E528
3a18:02f0 @ 162307015 - LdrpAllocateTls - INFO: TlsVector 0E5C8368 Index 33 : 8 bytes copied from 6B50CF50 to 094D3390
3a18:02f0 @ 162307015 - LdrpAllocateTls - INFO: TlsVector 0E5C8368 Index 32 : 1452 bytes copied from 65424848 to 098589D8
3a18:02f0 @ 162307015 - LdrpAllocateTls - INFO: TlsVector 0E5C8368 Index 34 : 8 bytes copied from 574C2784 to 094D33C0
3a18:02f0 @ 162307015 - LdrpAllocateTls - INFO: TlsVector 0E5C8368 Index 35 : 8 bytes copied from 7AA475A0 to 094D35A0
3a18:02f0 @ 162307015 - LdrpAllocateTls - INFO: TlsVector 0E5C8368 Index 36 : 8 bytes copied from 7ABAFD30 to 094D3930

3a18:02f0 @ 162307015 - LdrpGetProcedureAddress - INFO: Locating procedure "DecodePointer" by name
3a18:02f0 @ 162307015 - LdrpLoadDllInternal - ENTER: DLL name: NTDLL.DLL
3a18:02f0 @ 162307015 - LdrpLoadDllInternal - RETURN: Status: 0x00000000
3a18:02f0 @ 162307015 - LdrpGetProcedureAddress - INFO: Locating procedure "RtlDecodePointer" by name
3a18:02f0 @ 162307015 - LdrpGetProcedureAddress - INFO: Locating procedure "DecodePointer" by name
3a18:02f0 @ 162307015 - LdrpLoadDllInternal - ENTER: DLL name: NTDLL.DLL
3a18:02f0 @ 162307015 - LdrpLoadDllInternal - RETURN: Status: 0x00000000
3a18:02f0 @ 162307015 - LdrpGetProcedureAddress - INFO: Locating procedure "RtlDecodePointer" by name
3a18:02f0 @ 162307015 - LdrpGetProcedureAddress - INFO: Locating procedure "EncodePointer" by name
3a18:02f0 @ 162307015 - LdrpLoadDllInternal - ENTER: DLL name: NTDLL.DLL
3a18:02f0 @ 162307015 - LdrpLoadDllInternal - RETURN: Status: 0x00000000
3a18:02f0 @ 162307015 - LdrpGetProcedureAddress - INFO: Locating procedure "RtlEncodePointer" by name
3a18:02f0 @ 162307015 - LdrpGetProcedureAddress - INFO: Locating procedure "DecodePointer" by name
3a18:02f0 @ 162307015 - LdrpLoadDllInternal - ENTER: DLL name: NTDLL.DLL
3a18:02f0 @ 162307015 - LdrpLoadDllInternal - RETURN: Status: 0x00000000
3a18:02f0 @ 162307015 - LdrpGetProcedureAddress - INFO: Locating procedure "RtlDecodePointer" by name
3a18:02f0 @ 162307015 - LdrpCallTlsInitializers - INFO: Calling TLS callback 579CAAE0 for DLL "C:WindowsSYSTEM32UIAutomationCore.dll" at 57930000
3a18:02f0 @ 162307015 - LdrpCallTlsInitializers - INFO: Calling TLS callback 579CAB60 for DLL "C:WindowsSYSTEM32UIAutomationCore.dll" at 57930000
3a18:02f0 @ 162307015 - LdrpCallTlsInitializers - INFO: Calling TLS callback 64752600 for DLL "C:WindowsSystem32DriverStoreFileRepositoryiigd_dch.inf_amd64_def655a57f98ffe7igc32.dll" at 63810000
Critical error detected c0000374
A breakpoint instruction (__debugbreak() statement or a similar call) was executed in ABC.exe.

3a18:02f0 @ 162308515 - LdrpCallTlsInitializers - INFO: Calling TLS callback 64752600 for DLL "C:WindowsSystem32DriverStoreFileRepositoryiigd_dch.inf_amd64_def655a57f98ffe7igc32.dll" at 63810000
3a18:02f0 @ 162308515 - LdrpCallTlsInitializers - INFO: Calling TLS callback 579CAAE0 for DLL "C:WindowsSYSTEM32UIAutomationCore.dll" at 57930000
3a18:02f0 @ 162308515 - LdrpCallTlsInitializers - INFO: Calling TLS callback 579CAB60 for DLL "C:WindowsSYSTEM32UIAutomationCore.dll" at 57930000
3a18:02f0 @ 162308515 - LdrpGetProcedureAddress - INFO: Locating procedure "DecodePointer" by name
3a18:02f0 @ 162308515 - LdrpLoadDllInternal - ENTER: DLL name: NTDLL.DLL
3a18:02f0 @ 162308515 - LdrpLoadDllInternal - RETURN: Status: 0x00000000
3a18:02f0 @ 162308515 - LdrpGetProcedureAddress - INFO: Locating procedure "RtlDecodePointer" by name
Exception thrown at 0x776C6CF3 (ntdll.dll) in abc.exe: 0xC0000374: A heap has been corrupted (parameters: 0x77703960).
Unhandled exception at 0x776C6CF3 (ntdll.dll) in abc.exe: 0xC0000374: A heap has been corrupted (parameters: 0x77703960).

Я работаю с сторонней C ++ DLL, которая в некоторых случаях выполняет __debugbreak () и не проверяет IsDebuggerPresent () перед этим. Это приводит к сбою моего приложения, когда этот сценарий происходит вне отладчика (например, конечный пользователь, выполняющий приложение). Я хотел бы поймать это и разобраться с этим сам, или, по крайней мере, игнорировать это.

У меня на самом деле был фильтр необработанных исключений, чтобы некоторое время переводить исключения SEH в C ++, поэтому немного странно, что он не работает.

::SetUnhandledExceptionFilter(OnUnhandledException);

Я проводил некоторое прямое тестирование, и стандарт __try / __, за исключением работы, поэтому я мог обернуть каждый вызов в DLL с этим как запасной вариант, но, похоже, что если __try / __ кроме работает, то также работа.

    __try
{
__debugbreak();
}
__except (EXCEPTION_EXECUTE_HANDLER)
{
printf("caught");
}

try / catch (…) не работает.

    try
{
__debugbreak();
}
catch (...)
{
printf("caught");
}

_set_se_translator () тоже не работает.

Из документации MSDN на https://msdn.microsoft.com/en-us/library/ms679297(VS.85).aspx в нем говорится, что оно должно функционировать как структурированное исключение. Я понимаю, что это документация для DebugBreak (), но я протестировал и это, и у меня та же проблема, даже с «catch (…)».

Я компилирую с / EHa.

Как я могу поймать __debugbreak (asm INT 3) или хотя бы изменить поведение?

2

Решение

Точки останова генерируют EXCEPTION_BREAKPOINT структурированное исключение. Вы не можете использовать try / catch, чтобы поймать его, потому что он не переводится в исключение C ++, независимо от параметра / EHa или _set_se_translator, EXCEPTION_BREAKPOINT это особое исключение.

Во-первых, вы должны знать, что блоки catch и __except выполняются только после разматывания стека. Это означает, что выполнение продолжается после блока обработчика, а НЕ после вызова __debugbreak(), Так что, если вы просто хотите пропустить EXCEPTION_BREAKPOINT в то же время продолжить выполнение после int 3 инструкция. Вы должны использовать векторный обработчик исключений. Вот пример:

// VEH is supported only on Windows XP+ and Windows Server 2003+
#define _WIN32_WINNT 0x05020000

#include <windows.h>
#include <stdio.h>

//AddVectoredExceptionHandler constants:
//CALL_FIRST means call this exception handler first;
//CALL_LAST means call this exception handler last
#define CALL_FIRST 1
#define CALL_LAST 0

LONG WINAPI
VectoredHandlerBreakPoint(
struct _EXCEPTION_POINTERS *ExceptionInfo
)
{
if (ExceptionInfo->ExceptionRecord->ExceptionCode == EXCEPTION_BREAKPOINT)
{
/*

If a debugger is attached, this will never be executed.

*/

printf("BreakPoint at 0x%x skipped.n", ExceptionInfo->ExceptionRecord->ExceptionAddress);

PCONTEXT Context = ExceptionInfo->ContextRecord;

// The breakpoint instruction is 0xCC (int 3), just one byte in size.
// Advance to the next instruction. Otherwise, this handler will just be called ad infinitum.
#ifdef _AMD64_
Context->Rip++;
#else
Context->Eip++;
#endif
// Continue execution from the instruction at Context->Rip/Eip.
return EXCEPTION_CONTINUE_EXECUTION;
}

// IT's not a break intruction. Continue searching for an exception handler.
return EXCEPTION_CONTINUE_SEARCH;
}

void main()
{
// Register the vectored exception handler once.
PVOID hVeh = AddVectoredExceptionHandler(CALL_FIRST, VectoredHandlerBreakPoint);

if (!hVeh)
{
// AddVectoredExceptionHandler failed.
// Practically, this never happens.
}

DebugBreak();

// Unregister the handler.
if (hVeh)
RemoveVectoredExceptionHandler(hVeh);
}

Таким образом, инструкция точки останова int 3 будет просто пропущен и следующая инструкция будет выполнена. Также, если отладчик подключен, он будет обрабатывать EXCEPTION_BREAKPOINT для тебя.

Однако, если вы действительно хотите размотать стек, вы должны использовать __except(GetExceptionCode() == EXCEPTION_BREAKPOINT ? EXCEPTION_EXECUTE_HANDLER : EXCEPTION_CONTINUE_SEARCH),

5

Другие решения

Других решений пока нет …

Понравилась статья? Поделить с друзьями:
  • Инструкция тохатсу 6 сил 4 такта
  • Инструкция торнео кардио линк часы
  • Инструкция торнадо экстра от борщевика
  • Инструкция тонометр impuls pg 800a
  • Инструкция тонзилгон н драже инструкция по применению