Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Tobias Hunger
qt-creator
Commits
e76943eb
Commit
e76943eb
authored
Apr 17, 2009
by
Friedemann Kleint
Browse files
Load required dependency lib "dbghelp.dll" manually.
parent
7456e4e5
Changes
2
Hide whitespace changes
Inline
Side-by-side
src/plugins/debugger/cdb/cdbdebugengine.cpp
View file @
e76943eb
...
...
@@ -65,6 +65,7 @@
#define DBGHELP_TRANSLATE_TCHAR
#include
<inc/Dbghelp.h>
static
const
char
*
dbgHelpDllC
=
"dbghelp"
;
static
const
char
*
dbgEngineDllC
=
"dbgeng"
;
static
const
char
*
debugCreateFuncC
=
"DebugCreate"
;
...
...
@@ -116,6 +117,12 @@ QString msgComFailed(const char *func, HRESULT hr)
static
const
char
*
msgNoStackTraceC
=
"Internal error: no stack trace present."
;
static
inline
QString
msgLibLoadFailed
(
const
QString
&
lib
,
const
QString
&
why
)
{
return
CdbDebugEngine
::
tr
(
"Unable to load the debugger engine library '%1': %2"
).
arg
(
lib
,
why
);
}
// ----- Engine helpers
static
inline
ULONG
getInterruptTimeOutSecs
(
IDebugControl4
*
ctl
)
...
...
@@ -143,19 +150,31 @@ DebuggerEngineLibrary::DebuggerEngineLibrary() :
{
}
bool
DebuggerEngineLibrary
::
init
(
const
QString
&
path
,
QString
*
errorMessage
)
// Build a lib name as "Path\x.dll"
static
inline
QString
libPath
(
const
QString
&
libName
,
const
QString
&
path
=
QString
())
{
// Load from
path
QString
dllPath
=
path
;
if
(
!
dllPath
.
isEmpty
()
)
dllPath
+=
QDir
::
separator
()
;
dllPath
+=
QLatin1String
(
dbgEngineD
ll
C
);
QLibrary
lib
(
dllPath
,
0
);
QString
rc
=
path
;
if
(
!
rc
.
isEmpty
())
rc
+=
QDir
::
separator
()
;
rc
+=
libName
;
rc
+=
QLatin1String
(
".d
ll
"
);
return
rc
;
}
bool
DebuggerEngineLibrary
::
init
(
const
QString
&
path
,
QString
*
errorMessage
)
{
// Load the dependent help lib first
const
QString
helpLibPath
=
libPath
(
QLatin1String
(
dbgHelpDllC
),
path
);
QLibrary
helpLib
(
helpLibPath
,
0
);
if
(
!
helpLib
.
isLoaded
()
&&
!
helpLib
.
load
())
{
*
errorMessage
=
msgLibLoadFailed
(
helpLibPath
,
helpLib
.
errorString
());
return
false
;
}
// Load dbgeng lib
const
QString
engineLibPath
=
libPath
(
QLatin1String
(
dbgEngineDllC
),
path
);
QLibrary
lib
(
engineLibPath
,
0
);
if
(
!
lib
.
isLoaded
()
&&
!
lib
.
load
())
{
*
errorMessage
=
CdbDebugEngine
::
tr
(
"Unable to load the debugger engine library '%1': %2"
).
arg
(
QLatin1String
(
dbgEngineDllC
),
lib
.
errorString
());
*
errorMessage
=
msgLibLoadFailed
(
engineLibPath
,
lib
.
errorString
());
return
false
;
}
// Locate symbols
...
...
src/plugins/debugger/cdb/cdboptionspagewidget.ui
View file @
e76943eb
...
...
@@ -18,6 +18,9 @@
<layout
class=
"QHBoxLayout"
name=
"horizontalLayout"
>
<item>
<widget
class=
"QGroupBox"
name=
"cdbOptionsGroupBox"
>
<property
name=
"toolTip"
>
<string>
These options take effect at the next start of Qt Creator.
</string>
</property>
<property
name=
"title"
>
<string>
CDB
</string>
</property>
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment