Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Marco Bubke
flatpak-qt-creator
Commits
e65e0117
Commit
e65e0117
authored
May 12, 2010
by
hjk
Browse files
debugger: let the user specify a working directory when starting a local
application
parent
84f41930
Changes
10
Hide whitespace changes
Inline
Side-by-side
src/plugins/debugger/debuggerdialogs.cpp
View file @
e65e0117
...
...
@@ -516,6 +516,8 @@ StartExternalDialog::StartExternalDialog(QWidget *parent)
m_ui
->
execFile
->
setExpectedKind
(
Utils
::
PathChooser
::
File
);
m_ui
->
execFile
->
setPromptDialogTitle
(
tr
(
"Select Executable"
));
m_ui
->
buttonBox
->
button
(
QDialogButtonBox
::
Ok
)
->
setDefault
(
true
);
m_ui
->
workingDirectory
->
setExpectedKind
(
Utils
::
PathChooser
::
Directory
);
m_ui
->
workingDirectory
->
setPromptDialogTitle
(
tr
(
"Select Working Directory"
));
//execLabel->setHidden(false);
//execEdit->setHidden(false);
...
...
@@ -543,6 +545,16 @@ QString StartExternalDialog::executableFile() const
return
m_ui
->
execFile
->
path
();
}
void
StartExternalDialog
::
setWorkingDirectory
(
const
QString
&
str
)
{
m_ui
->
workingDirectory
->
setPath
(
str
);
}
QString
StartExternalDialog
::
workingDirectory
()
const
{
return
m_ui
->
workingDirectory
->
path
();
}
void
StartExternalDialog
::
setExecutableArguments
(
const
QString
&
str
)
{
m_ui
->
argsEdit
->
setText
(
str
);
...
...
src/plugins/debugger/debuggerdialogs.h
View file @
e65e0117
...
...
@@ -116,15 +116,17 @@ public:
explicit
AttachTcfDialog
(
QWidget
*
parent
);
~
AttachTcfDialog
();
QString
remoteChannel
()
const
;
void
setRemoteChannel
(
const
QString
&
host
);
QString
remoteArchitecture
()
const
;
void
setRemoteArchitecture
(
const
QString
&
arch
);
void
setRemoteArchitectures
(
const
QStringList
&
arches
);
QString
remoteChannel
()
const
;
QString
remoteArchitecture
()
const
;
void
setServerStartScript
(
const
QString
&
scriptName
);
QString
serverStartScript
()
const
;
void
setUseServerStartScript
(
bool
on
);
bool
useServerStartScript
()
const
;
void
setUseServerStartScript
(
bool
on
);
void
setServerStartScript
(
const
QString
&
scriptName
);
private
slots
:
void
updateState
();
...
...
@@ -141,11 +143,15 @@ public:
explicit
StartExternalDialog
(
QWidget
*
parent
);
~
StartExternalDialog
();
QString
executableFile
()
const
;
void
setExecutableFile
(
const
QString
&
executable
);
void
setExecutableArguments
(
const
QString
&
args
);
QString
executableFile
()
const
;
QString
executableArguments
()
const
;
void
setExecutableArguments
(
const
QString
&
args
);
QString
workingDirectory
()
const
;
void
setWorkingDirectory
(
const
QString
&
str
);
bool
breakAtMain
()
const
;
private:
...
...
@@ -160,21 +166,26 @@ public:
explicit
StartRemoteDialog
(
QWidget
*
parent
);
~
StartRemoteDialog
();
void
setRemoteChannel
(
const
QString
&
host
);
void
setRemoteArchitecture
(
const
QString
&
arch
);
void
setRemoteArchitectures
(
const
QStringList
&
arches
);
void
setLocalExecutable
(
const
QString
&
executable
);
void
setDebugger
(
const
QString
&
debugger
);
QString
localExecutable
()
const
;
void
setLocalExecutable
(
const
QString
&
executable
);
QString
remoteChannel
()
const
;
void
setRemoteChannel
(
const
QString
&
host
);
QString
remoteArchitecture
()
const
;
void
set
ServerStartScript
(
const
QString
&
scriptName
);
QString
serverStartScript
()
const
;
void
setUseServerStartScript
(
bool
on
);
void
set
RemoteArchitecture
(
const
QString
&
arch
);
void
setRemoteArchitectures
(
const
QStringList
&
arches
)
;
bool
useServerStartScript
()
const
;
void
setSysRoot
(
const
QString
&
sysRoot
);
void
setUseServerStartScript
(
bool
on
);
QString
serverStartScript
()
const
;
void
setServerStartScript
(
const
QString
&
scriptName
);
QString
sysRoot
()
const
;
void
setSysRoot
(
const
QString
&
sysRoot
);
QString
debugger
()
const
;
void
setDebugger
(
const
QString
&
debugger
);
private
slots
:
void
updateState
();
...
...
src/plugins/debugger/debuggermanager.cpp
View file @
e65e0117
...
...
@@ -181,7 +181,7 @@ DEBUGGER_EXPORT QDebug operator<<(QDebug str, const DebuggerStartParameters &p)
nospace
<<
"executable="
<<
p
.
executable
<<
" coreFile="
<<
p
.
coreFile
<<
" processArgs="
<<
p
.
processArgs
.
join
(
sep
)
<<
" environment=<"
<<
p
.
environment
.
size
()
<<
" variables>"
<<
" workingDir="
<<
p
.
workingDir
<<
" buildDir="
<<
p
.
buildDir
<<
" workingDir="
<<
p
.
workingDir
ectory
<<
" buildDir="
<<
p
.
buildDir
ectory
<<
" attachPID="
<<
p
.
attachPID
<<
" useTerminal="
<<
p
.
useTerminal
<<
" remoteChannel="
<<
p
.
remoteChannel
<<
" remoteArchitecture="
<<
p
.
remoteArchitecture
...
...
@@ -2068,7 +2068,7 @@ void DebuggerManager::runTest(const QString &fileName)
{
d
->
m_startParameters
->
executable
=
fileName
;
d
->
m_startParameters
->
processArgs
=
QStringList
()
<<
"--run-debuggee"
;
d
->
m_startParameters
->
workingDir
.
clear
();
d
->
m_startParameters
->
workingDir
ectory
.
clear
();
//startNewDebugger(StartInternal);
}
...
...
src/plugins/debugger/debuggermanager.h
View file @
e65e0117
...
...
@@ -111,8 +111,8 @@ public:
QString
coreFile
;
QStringList
processArgs
;
QStringList
environment
;
QString
workingDir
;
QString
buildDir
;
QString
workingDir
ectory
;
QString
buildDir
ectory
;
qint64
attachPID
;
bool
useTerminal
;
QString
crashParameter
;
// for AttachCrashedExternal
...
...
src/plugins/debugger/debuggerplugin.cpp
View file @
e65e0117
...
...
@@ -1401,6 +1401,8 @@ void DebuggerPlugin::startExternalApplication()
configValue
(
_
(
"LastExternalExecutableFile"
)).
toString
());
dlg
.
setExecutableArguments
(
configValue
(
_
(
"LastExternalExecutableArguments"
)).
toString
());
dlg
.
setWorkingDirectory
(
configValue
(
_
(
"LastExternalWorkingDirectory"
)).
toString
());
if
(
dlg
.
exec
()
!=
QDialog
::
Accepted
)
return
;
...
...
@@ -1408,8 +1410,11 @@ void DebuggerPlugin::startExternalApplication()
dlg
.
executableFile
());
setConfigValue
(
_
(
"LastExternalExecutableArguments"
),
dlg
.
executableArguments
());
setConfigValue
(
_
(
"LastExternalWorkingDirectory"
),
dlg
.
workingDirectory
());
sp
->
executable
=
dlg
.
executableFile
();
sp
->
startMode
=
StartExternal
;
sp
->
workingDirectory
=
dlg
.
workingDirectory
();
if
(
!
dlg
.
executableArguments
().
isEmpty
())
sp
->
processArgs
=
dlg
.
executableArguments
().
split
(
QLatin1Char
(
' '
));
...
...
src/plugins/debugger/debuggerrunner.cpp
View file @
e65e0117
...
...
@@ -118,7 +118,7 @@ DebuggerRunControl::DebuggerRunControl(DebuggerManager *manager,
m_startParameters
->
startMode
=
StartInternal
;
m_startParameters
->
executable
=
runConfiguration
->
executable
();
m_startParameters
->
environment
=
runConfiguration
->
environment
().
toStringList
();
m_startParameters
->
workingDir
=
runConfiguration
->
workingDirectory
();
m_startParameters
->
workingDir
ectory
=
runConfiguration
->
workingDirectory
();
m_startParameters
->
processArgs
=
runConfiguration
->
commandLineArguments
();
switch
(
m_startParameters
->
toolChainType
)
{
...
...
@@ -130,7 +130,7 @@ DebuggerRunControl::DebuggerRunControl(DebuggerManager *manager,
break
;
}
if
(
runConfiguration
->
target
()
->
project
())
{
m_startParameters
->
buildDir
=
m_startParameters
->
buildDir
ectory
=
runConfiguration
->
target
()
->
activeBuildConfiguration
()
->
buildDirectory
();
}
m_startParameters
->
useTerminal
=
...
...
src/plugins/debugger/gdb/localplaingdbadapter.cpp
View file @
e65e0117
...
...
@@ -79,8 +79,8 @@ void LocalPlainGdbAdapter::startAdapter()
}
gdbArgs
.
append
(
_
(
"--tty="
)
+
m_outputCollector
.
serverName
());
if
(
!
startParameters
().
workingDir
.
isEmpty
())
m_gdbProc
.
setWorkingDirectory
(
startParameters
().
workingDir
);
if
(
!
startParameters
().
workingDir
ectory
.
isEmpty
())
m_gdbProc
.
setWorkingDirectory
(
startParameters
().
workingDir
ectory
);
if
(
!
startParameters
().
environment
.
isEmpty
())
m_gdbProc
.
setEnvironment
(
startParameters
().
environment
);
...
...
src/plugins/debugger/gdb/remoteplaingdbadapter.cpp
View file @
e65e0117
...
...
@@ -50,8 +50,8 @@ void RemotePlainGdbAdapter::startAdapter()
setState
(
AdapterStarting
);
debugMessage
(
QLatin1String
(
"TRYING TO START ADAPTER"
));
if
(
!
startParameters
().
workingDir
.
isEmpty
())
m_gdbProc
.
setWorkingDirectory
(
startParameters
().
workingDir
);
if
(
!
startParameters
().
workingDir
ectory
.
isEmpty
())
m_gdbProc
.
setWorkingDirectory
(
startParameters
().
workingDir
ectory
);
if
(
!
startParameters
().
environment
.
isEmpty
())
m_gdbProc
.
setEnvironment
(
startParameters
().
environment
);
...
...
src/plugins/debugger/gdb/termgdbadapter.cpp
View file @
e65e0117
...
...
@@ -91,7 +91,7 @@ void TermGdbAdapter::startAdapter()
// m_stubProc.stop();
// m_stubProc.blockSignals(false);
m_stubProc
.
setWorkingDirectory
(
startParameters
().
workingDir
);
m_stubProc
.
setWorkingDirectory
(
startParameters
().
workingDir
ectory
);
// Set environment + dumper preload.
QStringList
environment
=
startParameters
().
environment
;
m_stubProc
.
setEnvironment
(
environment
);
...
...
src/plugins/debugger/startexternaldialog.ui
View file @
e65e0117
...
...
@@ -48,6 +48,9 @@
</property>
</widget>
</item>
<item
row=
"0"
column=
"1"
>
<widget
class=
"Utils::PathChooser"
name=
"execFile"
native=
"true"
/>
</item>
<item
row=
"1"
column=
"0"
>
<widget
class=
"QLabel"
name=
"argLabel"
>
<property
name=
"text"
>
...
...
@@ -58,17 +61,24 @@
<item
row=
"1"
column=
"1"
>
<widget
class=
"QLineEdit"
name=
"argsEdit"
/>
</item>
<item
row=
"0"
column=
"1"
>
<widget
class=
"Utils::PathChooser"
name=
"execFile"
native=
"true"
/>
<item
row=
"2"
column=
"0"
>
<widget
class=
"QLabel"
name=
"workingDirectoryLabel"
>
<property
name=
"text"
>
<string>
Working directory:
</string>
</property>
</widget>
</item>
<item
row=
"2"
column=
"1"
>
<widget
class=
"Utils::PathChooser"
name=
"workingDirectory"
native=
"true"
/>
</item>
<item
row=
"3"
column=
"1"
>
<widget
class=
"QCheckBox"
name=
"checkBoxBreakAtMain"
>
<property
name=
"text"
>
<string/>
</property>
</widget>
</item>
<item
row=
"
2
"
column=
"0"
>
<item
row=
"
3
"
column=
"0"
>
<widget
class=
"QLabel"
name=
"labelBreakAtMain"
>
<property
name=
"text"
>
<string>
Break at 'main':
</string>
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a 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