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
91e60257
Commit
91e60257
authored
Sep 15, 2009
by
hjk
Browse files
debugger: special handling for Symbian TInt and TBool.
We know they don't have nested contents
parent
2d9da518
Changes
4
Hide whitespace changes
Inline
Side-by-side
src/plugins/debugger/gdb/gdbengine.cpp
View file @
91e60257
...
...
@@ -85,7 +85,7 @@ namespace Internal {
using
namespace
Debugger
::
Constants
;
//#define DEBUG_PENDING 1
//
#define DEBUG_SUBITEM 1
#define DEBUG_SUBITEM 1
#if DEBUG_PENDING
# define PENDING_DEBUG(s) qDebug() << s
...
...
@@ -3767,6 +3767,16 @@ void GdbEngine::setLocals(const QList<GdbMi> &locals)
// pass through the insertData() machinery
if
(
isIntOrFloatType
(
data
.
type
)
||
isPointerType
(
data
.
type
))
setWatchDataValue
(
data
,
item
.
findChild
(
"value"
));
if
(
isSymbianIntType
(
data
.
type
))
{
setWatchDataValue
(
data
,
item
.
findChild
(
"value"
));
data
.
setHasChildren
(
false
);
}
// Let's be a bit more bold:
//if (!hasDebuggingHelperForType(data.type)) {
// QByteArray value = item.findChild("value").data();
// if (!value.isEmpty() && value != "{...}")
// data.setValue(decodeData(value, 0));
//}
if
(
!
qq
->
watchHandler
()
->
isExpandedIName
(
data
.
iname
))
data
.
setChildrenUnneeded
();
if
(
isPointerType
(
data
.
type
)
||
data
.
name
==
__
(
"this"
))
...
...
src/plugins/debugger/watchhandler.cpp
View file @
91e60257
...
...
@@ -66,7 +66,7 @@ namespace Debugger {
namespace
Internal
{
static
const
QString
strNotInScope
=
QCoreApplication
::
translate
(
"Debugger::Internal::WatchData"
,
"<not in scope>"
);
QCoreApplication
::
translate
(
"Debugger::Internal::WatchData"
,
"<not in scope>"
);
static
int
watcherCounter
=
0
;
static
int
generationCounter
=
0
;
...
...
src/plugins/debugger/watchutils.cpp
View file @
91e60257
...
...
@@ -339,6 +339,13 @@ bool isIntType(const QString &type)
return
types
.
contains
(
type
);
}
bool
isSymbianIntType
(
const
QString
&
type
)
{
static
const
QStringList
types
=
QStringList
()
<<
QLatin1String
(
"TInt"
)
<<
QLatin1String
(
"TBool"
);
return
types
.
contains
(
type
);
}
bool
isIntOrFloatType
(
const
QString
&
type
)
{
static
const
QStringList
types
=
QStringList
()
...
...
src/plugins/debugger/watchutils.h
View file @
91e60257
...
...
@@ -73,6 +73,7 @@ bool extractTemplate(const QString &type, QString *tmplate, QString *inner);
QString
extractTypeFromPTypeOutput
(
const
QString
&
str
);
bool
isIntOrFloatType
(
const
QString
&
type
);
bool
isIntType
(
const
QString
&
type
);
bool
isSymbianIntType
(
const
QString
&
type
);
enum
GuessChildrenResult
{
HasChildren
,
HasNoChildren
,
HasPossiblyChildren
};
GuessChildrenResult
guessChildren
(
const
QString
&
type
);
...
...
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