Valgrind: Add gui option "Detect self-modifying code"

Setting this option to e.g. "Everywhere Except in File-backend Mappings"
allows to 'valgrind' Qt Creator itself.

Without that option the valgrind process will die if certain code paths
are executed.

Change-Id: I8888456d324a25ce092f0b0128407adf2159f496
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
This commit is contained in:
Nikolai Kosjar
2013-09-06 16:33:48 +02:00
committed by hjk
parent 00de61a79c
commit 548319c523
6 changed files with 213 additions and 105 deletions

View File

@@ -51,6 +51,13 @@ class ValgrindBaseSettings : public ProjectExplorer::ISettingsAspect
Q_OBJECT
public:
enum SelfModifyingCodeDetection {
DetectSmcNo,
DetectSmcStackOnly,
DetectSmcEverywhere,
DetectSmcEverywhereButFile
};
ValgrindBaseSettings() {}
void toMap(QVariantMap &map) const;
@@ -64,15 +71,19 @@ signals:
*/
public:
QString valgrindExecutable() const;
SelfModifyingCodeDetection selfModifyingCodeDetection() const;
public slots:
void setValgrindExecutable(const QString &);
void setSelfModifyingCodeDetection(int);
signals:
void valgrindExecutableChanged(const QString &);
void selfModifyingCodeDetectionChanged(int);
private:
QString m_valgrindExecutable;
SelfModifyingCodeDetection m_selfModifyingCodeDetection;
/**