1
0
Fork 0

DBG: error message improvement in cbDebugPause + minor project fixes

This commit is contained in:
Duncan Ogilvie 2020-05-09 22:40:45 +02:00
parent 7b2e62ccd2
commit 5507b46dc4
3 changed files with 7 additions and 9 deletions

View File

@ -320,9 +320,14 @@ bool cbDebugPause(int argc, char* argv[])
dputs(QT_TRANSLATE_NOOP("DBG", "Program is not running"));
return false;
}
if(SuspendThread(hActiveThread) == -1)
// Interesting behavior found by JustMagic, if the active thread is suspended pause would fail
auto previousSuspendCount = SuspendThread(hActiveThread);
if(previousSuspendCount != 0)
{
dputs(QT_TRANSLATE_NOOP("DBG", "Error suspending thread"));
if(previousSuspendCount != -1)
ResumeThread(hActiveThread);
dputs(QT_TRANSLATE_NOOP("DBG", "The active thread is suspended, switch to a running thread to pause the process"));
// TODO: perhaps inject an INT3 in the process as an alternative to failing?
return false;
}
duint CIP = GetContextDataEx(hActiveThread, UE_CIP);

View File

@ -57,12 +57,6 @@ enum
X_UNDNAME_NO_PTR64 = 0x20000, //Does not include ptr64 in output.
};
#if _MSC_VER == 1800 || _MSC_VER == 1900 || (_MSC_VER >= 1910 && _MSC_VER <= 1923)
// Tested compiler version
#else
#error unDNameEx is undocumented and possibly unsupported on your runtime! Uncomment this line if you understand the risks and want continue regardless...
#endif //_MSC_VER
//undname.cxx
extern "C" pchar_t __cdecl __unDNameEx(_Out_opt_z_cap_(maxStringLength) pchar_t outputString,
pcchar_t name,

View File

@ -299,7 +299,6 @@
<PropertyGroup Label="Globals">
<ProjectGuid>{E6548308-401E-3A8A-5819-905DB90522A6}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">