Debugger: add option to disable task entries for exceptions

Task-number: QTCREATORBUG-20915
Change-Id: I3b7bda65f5b645cd4d8f9582b9185cb27b2c9f91
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
David Schulz
2018-08-14 12:56:56 +02:00
parent 1cd522374a
commit 7bc14bf349
8 changed files with 70 additions and 14 deletions

View File

@@ -539,10 +539,12 @@ void CdbEngine::handleInitialSessionIdle()
runCommand({"sxn 0x4000001f", NoFlags}); // Do not break on WowX86 exceptions.
runCommand({"sxn ibp", NoFlags}); // Do not break on initial breakpoints.
runCommand({".asm source_line", NoFlags}); // Source line in assembly
runCommand({m_extensionCommandPrefix + "setparameter maxStringLength="
+ action(MaximalStringLength)->value().toString()
+ " maxStackDepth="
+ action(MaximalStackDepth)->value().toString(), NoFlags});
runCommand({m_extensionCommandPrefix
+ "setparameter maxStringLength=" + action(MaximalStringLength)->value().toString()
+ " maxStackDepth=" + action(MaximalStackDepth)->value().toString()
+ " firstChance=" + (action(FirstChanceExceptionTaskEntry)->value().toBool() ? "1" : "0")
+ " secondChance=" + (action(SecondChanceExceptionTaskEntry)->value().toBool() ? "1" : "0")
, NoFlags});
if (boolSetting(CdbUsePythonDumper))
runCommand({"print(sys.version)", ScriptCommand, CB(setupScripting)});
@@ -2195,12 +2197,11 @@ void CdbEngine::handleExtensionMessage(char t, int token, const QString &what, c
if (!isDebuggerWinException(exception.exceptionCode)) {
const Task::TaskType type =
isFatalWinException(exception.exceptionCode) ? Task::Error : Task::Warning;
const FileName fileName = exception.file.isEmpty()
? FileName() : FileName::fromUserInput(exception.file);
const FileName fileName = FileName::fromUserInput(exception.file);
const QString taskEntry = tr("Debugger encountered an exception: %1").arg(
exception.toString(false).trimmed());
TaskHub::addTask(type, taskEntry,
Debugger::Constants::TASK_CATEGORY_DEBUGGER_RUNTIME,
Constants::TASK_CATEGORY_DEBUGGER_RUNTIME,
fileName, exception.lineNumber);
}
return;