- enhancement: If executable doesn't have symbol table, inform user and stop.
- enhancement: If breakpoint is setted but executable doesn't have debug info ,inform user and stop. - enhancement: If current compiler set has "strip addition infos(-s)" enabled, inform user and stop.
This commit is contained in:
parent
a91dc12519
commit
24734bfb28
5
NEWS.md
5
NEWS.md
|
@ -38,6 +38,11 @@ Red Panda C++ Version 2.12
|
|||
- enhancement: Correctly handle high-precision mouse wheel / touchpad in editors.
|
||||
- enhancement: Greatly reduce time to open/edit big files.
|
||||
- enhancement: Reduce flicker when editing big files.
|
||||
- enhancement: If executable doesn't have symbol table, inform user and stop.
|
||||
- enhancement: If breakpoint is setted but executable doesn't have debug info ,inform user and stop.
|
||||
- enhancement: If current compiler set has "strip addition infos(-s)" enabled, inform user and stop.
|
||||
|
||||
|
||||
|
||||
Red Panda C++ Version 2.11
|
||||
|
||||
|
|
|
@ -46,12 +46,6 @@
|
|||
#define COMPILER_OPTION_ON "on"
|
||||
#define COMPILER_OPTION_OFF ""
|
||||
|
||||
enum class CompilerSetType {
|
||||
RELEASE,
|
||||
DEBUG,
|
||||
PROFILING
|
||||
};
|
||||
|
||||
enum class CompilerType {
|
||||
GCC,
|
||||
GCC_UTF8,
|
||||
|
|
|
@ -194,6 +194,10 @@ bool Debugger::start(int compilerSetIndex, const QString& inferior, const QStrin
|
|||
&MainWindow::removeActiveBreakpoints);
|
||||
connect(mReader, &DebugReader::inferiorStopped,pMainWindow,
|
||||
&MainWindow::setActiveBreakpoint);
|
||||
connect(mReader, &DebugReader::errorNoSymbolTable,pMainWindow,
|
||||
&MainWindow::stopDebugForNoSymbolTable);
|
||||
connect(mReader, &DebugReader::errorNoSourceFile,pMainWindow,
|
||||
&MainWindow::stopDebugForNoSourceFile);
|
||||
connect(mReader, &DebugReader::inferiorStopped,this,
|
||||
&Debugger::refreshAll);
|
||||
|
||||
|
@ -1167,7 +1171,18 @@ void DebugReader::processExecAsyncRecord(const QByteArray &line)
|
|||
|
||||
void DebugReader::processError(const QByteArray &errorLine)
|
||||
{
|
||||
mConsoleOutput.append(QString::fromLocal8Bit(errorLine));
|
||||
QString s = QString::fromLocal8Bit(errorLine);
|
||||
mConsoleOutput.append(s);
|
||||
int idx=s.indexOf(",msg=\"No symbol table is loaded");
|
||||
if (idx>0) {
|
||||
emit errorNoSymbolTable();
|
||||
return;
|
||||
}
|
||||
idx=s.indexOf(",msg=\"No source file named ");
|
||||
if (idx>0) {
|
||||
emit errorNoSourceFile();
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
void DebugReader::processResultRecord(const QByteArray &line)
|
||||
|
|
|
@ -516,6 +516,8 @@ signals:
|
|||
void cmdStarted();
|
||||
void cmdFinished();
|
||||
|
||||
void errorNoSymbolTable();
|
||||
void errorNoSourceFile();
|
||||
void breakpointInfoGetted(const QString& filename, int line, int number);
|
||||
void inferiorContinued();
|
||||
void inferiorStopped(const QString& filename, int line, bool setFocus);
|
||||
|
|
|
@ -1981,6 +1981,7 @@ void Editor::onTooltipTimer()
|
|||
|
||||
void Editor::onEndParsing()
|
||||
{
|
||||
qDebug()<<"yes";
|
||||
mIdentCache.clear();
|
||||
invalidate();
|
||||
}
|
||||
|
|
|
@ -2090,20 +2090,34 @@ void MainWindow::debug()
|
|||
QStringList binDirs;
|
||||
switch(getCompileTarget()) {
|
||||
case CompileTarget::Project:
|
||||
compilerSet=pSettings->compilerSets().getSet(mProject->options().compilerSet);
|
||||
if (!compilerSet)
|
||||
compilerSet = pSettings->compilerSets().defaultSet();
|
||||
binDirs = mProject->binDirs();
|
||||
// Check if we enabled proper options
|
||||
debugEnabled = mProject->getCompileOption(CC_CMD_OPT_DEBUG_INFO) == COMPILER_OPTION_ON;
|
||||
stripEnabled = mProject->getCompileOption(LINK_CMD_OPT_STRIP_EXE) == COMPILER_OPTION_ON;
|
||||
if (stripEnabled) {
|
||||
QMessageBox::critical(this,
|
||||
tr("Can't Debug"),
|
||||
tr("Your compiler set's \"Strip executable (-s)\" options is turnned on")
|
||||
+"<BR /><BR />"
|
||||
+tr("The generated executable doesn't have symbol table, and can't be debugged.")
|
||||
+"<BR /><BR />"
|
||||
+tr("Please correct it, recompile and retry debug.")
|
||||
);
|
||||
return;
|
||||
}
|
||||
// Ask the user if he wants to enable debugging...
|
||||
if ((!debugEnabled) || stripEnabled) {
|
||||
if (QMessageBox::question(this,
|
||||
tr("Enable debugging"),
|
||||
tr("You are not using a Debug compiler setting.")
|
||||
+"<BR /><BR />"
|
||||
+tr("Please use a Debug compiler set, or enable the \"generate debugging info (-g3)\" and disable the \"strip additional info (-s)\" options in the compiler settings.")
|
||||
+"<BR /><BR />"
|
||||
+tr("Do you want to set it now?")
|
||||
) == QMessageBox::Yes) {
|
||||
if (compilerSet->name().endsWith("Debug") && !debugEnabled) {
|
||||
if (QMessageBox::question(this,
|
||||
tr("Correct compiler setting"),
|
||||
tr("You are using a Debug compiler set with wrong compile/link settings: ")
|
||||
+"<BR /><BR />"
|
||||
+tr(" - \"Generate debug info (-g3)\" should be turned on")
|
||||
+"<BR /><BR />"
|
||||
+tr("Do you want to correct it now?")
|
||||
) == QMessageBox::Yes) {
|
||||
changeOptions(
|
||||
SettingsDialog::tr("Compiler Set"),
|
||||
SettingsDialog::tr("Compiler")
|
||||
|
@ -2183,15 +2197,28 @@ void MainWindow::debug()
|
|||
// Check if we enabled proper options
|
||||
debugEnabled = compilerSet->getCompileOptionValue(CC_CMD_OPT_DEBUG_INFO) == COMPILER_OPTION_ON;
|
||||
stripEnabled = compilerSet->getCompileOptionValue(LINK_CMD_OPT_STRIP_EXE) == COMPILER_OPTION_ON;
|
||||
if (stripEnabled) {
|
||||
QMessageBox::critical(this,
|
||||
tr("Can't Debug"),
|
||||
tr("Your compiler set's \"Strip executable (-s)\" options is turnned on")
|
||||
+"<BR /><BR />"
|
||||
+tr("The generated executable doesn't have symbol table, and can't be debugged.")
|
||||
+"<BR /><BR />"
|
||||
+tr("Please correct it, recompile and retry debug.")
|
||||
);
|
||||
return;
|
||||
}
|
||||
// Ask the user if he wants to enable debugging...
|
||||
if ((!debugEnabled) || stripEnabled) {
|
||||
if (compilerSet->name().endsWith("Debug") && !debugEnabled) {
|
||||
if (QMessageBox::question(this,
|
||||
tr("Enable debugging"),
|
||||
tr("You are not using a Debug compiler setting.")
|
||||
tr("You are using a Debug compiler set with wrong compile/link settings: ")
|
||||
+"<BR /><BR />"
|
||||
+tr("Please choose a Debug compiler set in the toolbarin the compiler set settings's \"settings\" page.")
|
||||
+tr(" - \"Generate debug info (-g3)\" should be turned on")
|
||||
+"<BR /><BR />"
|
||||
+tr("Do you want to set it now?")
|
||||
+tr(" - \"Strip executable (-s)\" should be turned off")
|
||||
+"<BR /><BR />"
|
||||
+tr("Do you want to correct it now?")
|
||||
) == QMessageBox::Yes) {
|
||||
changeOptions(
|
||||
SettingsDialog::tr("Compiler Set"),
|
||||
|
@ -2285,7 +2312,7 @@ void MainWindow::debug()
|
|||
mDebugger->sendCommand("-environment-cd", QString("\"%1\"").arg(extractFileDir(filePath))); // restore working directory
|
||||
if (pSettings->debugger().useGDBServer()) {
|
||||
mDebugger->sendCommand("-target-select",QString("remote localhost:%1").arg(pSettings->debugger().GDBServerPort()));
|
||||
if (!debugInferiorhasBreakpoint()) {
|
||||
if (!debugInferiorhasBreakpoint() || !debugEnabled) {
|
||||
mDebugger->sendCommand("-break-insert","-t main");
|
||||
}
|
||||
if (pSettings->executor().useParams()) {
|
||||
|
@ -2300,11 +2327,10 @@ void MainWindow::debug()
|
|||
mDebugger->sendCommand("-exec-arguments", pSettings->executor().params());
|
||||
}
|
||||
if (!debugInferiorhasBreakpoint()) {
|
||||
mDebugger->sendCommand("-exec-run", "--start");
|
||||
mDebugger->sendCommand("-exec-run","--start");
|
||||
} else {
|
||||
mDebugger->sendCommand("-exec-run","");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -4909,6 +4935,31 @@ void MainWindow::enableDebugActions()
|
|||
}
|
||||
}
|
||||
|
||||
void MainWindow::stopDebugForNoSymbolTable()
|
||||
{
|
||||
mDebugger->stop();
|
||||
QMessageBox::critical(this,
|
||||
tr("Debug Failed"),
|
||||
tr("The executable doesn't have symbol table, and can't be debugged.")
|
||||
+"<BR /><BR />"
|
||||
+tr("Please turn off your compiler set's \"Strip executable (-s)\" option, recompile and retry debug.")
|
||||
);
|
||||
}
|
||||
|
||||
void MainWindow::stopDebugForNoSourceFile()
|
||||
{
|
||||
mDebugger->stop();
|
||||
QMessageBox::critical(this,
|
||||
tr("Debug Failed"),
|
||||
tr("The executable doesn't have enough debug info to set breakpoint.")
|
||||
+"<BR /><BR />"
|
||||
+tr("Please choose a Debug compiler set in the toolbar, or turn on your compiler set's \"Generate debug info (-g3)\" option in the options dialog.")
|
||||
+tr("Then recompile and retry debug.")
|
||||
+"<BR /><BR/>"
|
||||
+tr("Or you can remove all breakpoints, open cpu info dialog, and try debug machine codes.")
|
||||
);
|
||||
}
|
||||
|
||||
void MainWindow::onTodoParsingFile(const QString& filename)
|
||||
{
|
||||
mTodoModel.removeTodosForFile(filename);
|
||||
|
@ -9433,7 +9484,6 @@ void MainWindow::on_actionNew_GAS_File_triggered()
|
|||
newEditor("s");
|
||||
}
|
||||
|
||||
|
||||
void MainWindow::on_actionGNU_Assembler_Manual_triggered()
|
||||
{
|
||||
QDesktopServices::openUrl(QUrl("https://sourceware.org/binutils/docs/as/index.html"));
|
||||
|
|
|
@ -250,6 +250,8 @@ public slots:
|
|||
void onEditorTabContextMenu(QTabWidget* tabWidget, const QPoint& pos);
|
||||
void disableDebugActions();
|
||||
void enableDebugActions();
|
||||
void stopDebugForNoSymbolTable();
|
||||
void stopDebugForNoSourceFile();
|
||||
void onTodoParsingFile(const QString& filename);
|
||||
void onTodoParseStarted();
|
||||
void onTodoFound(const QString& filename, int lineNo, int ch, const QString& line);
|
||||
|
|
|
@ -907,7 +907,7 @@ void Project::setCompilerSet(int compilerSetIndex)
|
|||
{
|
||||
if (mOptions.compilerSet != compilerSetIndex) {
|
||||
mOptions.compilerSet = compilerSetIndex;
|
||||
updateCompilerSetType();
|
||||
updateCompilerSetting();
|
||||
setModified(true);
|
||||
}
|
||||
}
|
||||
|
@ -923,7 +923,7 @@ bool Project::assignTemplate(const std::shared_ptr<ProjectTemplate> aTemplate, b
|
|||
mOptions = aTemplate->options();
|
||||
mOptions.compilerSet = pSettings->compilerSets().defaultIndex();
|
||||
mOptions.isCpp = useCpp;
|
||||
updateCompilerSetType();
|
||||
updateCompilerSetting();
|
||||
mOptions.icon = aTemplate->icon();
|
||||
|
||||
QTextCodec* codec=QTextCodec::codecForName(mOptions.encoding);
|
||||
|
@ -1179,7 +1179,6 @@ void Project::saveOptions()
|
|||
ini.SetLongValue("Project","IncludeVersionInfo", mOptions.includeVersionInfo);
|
||||
ini.SetLongValue("Project","SupportXPThemes", mOptions.supportXPThemes);
|
||||
ini.SetLongValue("Project","CompilerSet", mOptions.compilerSet);
|
||||
ini.SetLongValue("Project","CompilerSetType", (int)mOptions.compilerSetType);
|
||||
ini.Delete("Project","CompilerSettings"); // remove old compiler settings
|
||||
ini.Delete("CompilerSettings",nullptr); // remove old compiler settings
|
||||
foreach (const QString& key, mOptions.compilerOptions.keys()) {
|
||||
|
@ -2111,12 +2110,6 @@ void Project::loadOptions(SimpleIni& ini)
|
|||
mOptions.execEncoding = ini.GetValue("Project","ExecEncoding", ENCODING_SYSTEM_DEFAULT);
|
||||
mOptions.addCharset = ini.GetBoolValue("Project", "AddCharset", true);
|
||||
|
||||
int val=ini.GetLongValue("Project","CompilerSetType",-1);
|
||||
if (val<0) {
|
||||
updateCompilerSetType();
|
||||
} else {
|
||||
mOptions.compilerSetType=(CompilerSetType)val;
|
||||
}
|
||||
bool useUTF8 = ini.GetBoolValue("Project", "UseUTF8", false);
|
||||
if (useUTF8) {
|
||||
mOptions.encoding = ini.GetValue("Project","Encoding", ENCODING_UTF8);
|
||||
|
@ -2255,15 +2248,13 @@ void Project::updateFolderNode(PProjectModelNode node)
|
|||
}
|
||||
}
|
||||
|
||||
void Project::updateCompilerSetType()
|
||||
void Project::updateCompilerSetting()
|
||||
{
|
||||
Settings::PCompilerSet defaultSet = pSettings->compilerSets().getSet(mOptions.compilerSet);
|
||||
if (defaultSet) {
|
||||
mOptions.compilerSetType=defaultSet->compilerSetType();
|
||||
mOptions.staticLink = defaultSet->staticLink();
|
||||
mOptions.compilerOptions = defaultSet->compileOptions();
|
||||
} else {
|
||||
mOptions.compilerSetType=CompilerSetType::DEBUG;
|
||||
mOptions.staticLink = false;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -340,7 +340,7 @@ private:
|
|||
void open();
|
||||
void removeFolderRecurse(PProjectModelNode node);
|
||||
void updateFolderNode(PProjectModelNode node);
|
||||
void updateCompilerSetType();
|
||||
void updateCompilerSetting();
|
||||
|
||||
private:
|
||||
QHash<QString,PProjectUnit> mUnits;
|
||||
|
|
|
@ -50,7 +50,6 @@ ProjectOptions::ProjectOptions()
|
|||
includeVersionInfo = false;
|
||||
supportXPThemes = false;
|
||||
compilerSet = 0;
|
||||
compilerSetType = CompilerSetType::DEBUG;
|
||||
staticLink = true;
|
||||
addCharset = true;
|
||||
modelType = ProjectModelType::FileSystem;
|
||||
|
|
|
@ -90,7 +90,6 @@ struct ProjectOptions{
|
|||
bool includeVersionInfo;
|
||||
bool supportXPThemes;
|
||||
int compilerSet;
|
||||
CompilerSetType compilerSetType;
|
||||
QMap<QString,QString> compilerOptions;
|
||||
ProjectVersionInfo versionInfo;
|
||||
QString cmdLineArgs;
|
||||
|
|
|
@ -1660,7 +1660,6 @@ void Settings::Editor::setTabToSpaces(bool tabToSpaces)
|
|||
Settings::CompilerSet::CompilerSet():
|
||||
mFullLoaded(false),
|
||||
mCompilerType(CompilerType::Unknown),
|
||||
mCompilerSetType(CompilerSetType::RELEASE),
|
||||
mAutoAddCharsetParams(false),
|
||||
mExecCharset(ENCODING_SYSTEM_DEFAULT),
|
||||
mStaticLink(false),
|
||||
|
@ -1726,7 +1725,6 @@ Settings::CompilerSet::CompilerSet(const Settings::CompilerSet &set):
|
|||
mName(set.mName),
|
||||
mTarget(set.mTarget),
|
||||
mCompilerType(set.mCompilerType),
|
||||
mCompilerSetType(set.mCompilerSetType),
|
||||
|
||||
mUseCustomCompileParams(set.mUseCustomCompileParams),
|
||||
mUseCustomLinkParams(set.mUseCustomLinkParams),
|
||||
|
@ -2680,16 +2678,6 @@ void Settings::CompilerSet::setDebugServer(const QString &newDebugServer)
|
|||
mDebugServer = newDebugServer;
|
||||
}
|
||||
|
||||
CompilerSetType Settings::CompilerSet::compilerSetType() const
|
||||
{
|
||||
return mCompilerSetType;
|
||||
}
|
||||
|
||||
void Settings::CompilerSet::setCompilerSetType(CompilerSetType newCompilerSetType)
|
||||
{
|
||||
mCompilerSetType = newCompilerSetType;
|
||||
}
|
||||
|
||||
void Settings::CompilerSet::setCompilerType(CompilerType newCompilerType)
|
||||
{
|
||||
mCompilerType = newCompilerType;
|
||||
|
@ -2786,13 +2774,11 @@ bool Settings::CompilerSets::addSets(const QString &folder, const QString& c_pro
|
|||
PCompilerSet set= addSet(baseSet);
|
||||
platformName = "32-bit";
|
||||
set->setName(baseName + " " + platformName + " Release");
|
||||
set->setCompilerSetType(CompilerSetType::RELEASE);
|
||||
set64_32Options(set);
|
||||
setReleaseOptions(set);
|
||||
|
||||
set = addSet(baseSet);
|
||||
set->setName(baseName + " " + platformName + " Debug");
|
||||
set->setCompilerSetType(CompilerSetType::DEBUG);
|
||||
set64_32Options(set);
|
||||
setDebugOptions(set);
|
||||
}
|
||||
|
@ -2804,19 +2790,16 @@ bool Settings::CompilerSets::addSets(const QString &folder, const QString& c_pro
|
|||
|
||||
PCompilerSet debugSet = addSet(baseSet);
|
||||
debugSet->setName(baseName + " " + platformName + " Debug");
|
||||
debugSet->setCompilerSetType(CompilerSetType::DEBUG);
|
||||
setDebugOptions(debugSet);
|
||||
|
||||
// Enable ASan compiler set if it is supported and gdb works with ASan.
|
||||
#ifdef Q_OS_LINUX
|
||||
PCompilerSet debugAsanSet = addSet(baseSet);
|
||||
debugAsanSet->setName(baseName + " " + platformName + " Debug with ASan");
|
||||
debugAsanSet->setCompilerSetType(CompilerSetType::DEBUG);
|
||||
setDebugOptions(debugAsanSet, true);
|
||||
#endif
|
||||
|
||||
baseSet->setName(baseName + " " + platformName + " Release");
|
||||
baseSet->setCompilerSetType(CompilerSetType::RELEASE);
|
||||
setReleaseOptions(baseSet);
|
||||
|
||||
// baseSet = addSet(folder);
|
||||
|
@ -3129,7 +3112,6 @@ void Settings::CompilerSets::saveSet(int index)
|
|||
mSettings->mSettings.setValue("Name", pSet->name());
|
||||
mSettings->mSettings.setValue("Target", pSet->target());
|
||||
mSettings->mSettings.setValue("CompilerType", (int)pSet->compilerType());
|
||||
mSettings->mSettings.setValue("CompilerSetType", (int)pSet->compilerSetType());
|
||||
|
||||
// Paths
|
||||
savePathList("Bins",pSet->binDirs());
|
||||
|
@ -3193,8 +3175,6 @@ Settings::PCompilerSet Settings::CompilerSets::loadSet(int index)
|
|||
pSet->setCompilerType((CompilerType)mSettings->mSettings.value("CompilerType").toInt());
|
||||
}
|
||||
|
||||
pSet->setCompilerSetType((CompilerSetType)mSettings->mSettings.value("CompilerSetType").toInt());
|
||||
|
||||
// Load extra 'general' options
|
||||
pSet->setUseCustomCompileParams(mSettings->mSettings.value("useCustomCompileParams", false).toBool());
|
||||
pSet->setCustomCompileParams(mSettings->mSettings.value("customCompileParams").toString());
|
||||
|
|
|
@ -1381,9 +1381,6 @@ public:
|
|||
|
||||
void setCompilerType(CompilerType newCompilerType);
|
||||
|
||||
CompilerSetType compilerSetType() const;
|
||||
void setCompilerSetType(CompilerSetType newCompilerSetType);
|
||||
|
||||
const QString &execCharset() const;
|
||||
void setExecCharset(const QString &newExecCharset);
|
||||
|
||||
|
@ -1448,7 +1445,6 @@ public:
|
|||
QString mName; // "TDM-GCC 4.7.1 Release"
|
||||
QString mTarget; // 'X86_64' / 'i686'
|
||||
CompilerType mCompilerType; // 'Clang' / 'GCC'
|
||||
CompilerSetType mCompilerSetType; // RELEASE/ DEBUG/ Profile
|
||||
|
||||
// User settings
|
||||
bool mUseCustomCompileParams;
|
||||
|
|
|
@ -605,7 +605,7 @@
|
|||
</message>
|
||||
<message>
|
||||
<source>Choose Profiler</source>
|
||||
<translation>Escolher levantador de perfil</translation>
|
||||
<translation type="vanished">Escolher levantador de perfil</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>C++ Compiler(g++)</source>
|
||||
|
@ -617,7 +617,7 @@
|
|||
</message>
|
||||
<message>
|
||||
<source>Profiler(gprof)</source>
|
||||
<translation>Profiler (gprof)</translation>
|
||||
<translation type="vanished">Profiler (gprof)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>make</source>
|
||||
|
@ -751,10 +751,6 @@
|
|||
<source>Locate windres</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Locate gprof</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Assembler</source>
|
||||
<translation type="unfinished">Assembler</translation>
|
||||
|
@ -3506,11 +3502,11 @@
|
|||
</message>
|
||||
<message>
|
||||
<source>Compile & Run</source>
|
||||
<translation>Compilar e executar</translation>
|
||||
<translation type="vanished">Compilar e executar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>F11</source>
|
||||
<translation>F11</translation>
|
||||
<translation type="vanished">F11</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Rebuild All</source>
|
||||
|
@ -4118,11 +4114,11 @@
|
|||
</message>
|
||||
<message>
|
||||
<source>Compile now?</source>
|
||||
<translation>Compilar agora?</translation>
|
||||
<translation type="vanished">Compilar agora?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Source file is more recent than executable.</source>
|
||||
<translation>Arquivo fonte é mais recente que o executável.</translation>
|
||||
<translation type="vanished">Arquivo fonte é mais recente que o executável.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Recompile now?</source>
|
||||
|
@ -4186,7 +4182,7 @@
|
|||
</message>
|
||||
<message>
|
||||
<source>Recompile?</source>
|
||||
<translation>Recompilar?</translation>
|
||||
<translation type="vanished">Recompilar?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Auto Save Error</source>
|
||||
|
@ -4920,22 +4916,6 @@
|
|||
<source>FPS Problem Set Files (*.fps;*.xml)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to set it now?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>You are not using a Debug compiler setting.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please use a Debug compiler set, or enable the "generate debugging info (-g3)" and disable the "strip additional info (-s)" options in the compiler settings.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please choose a Debug compiler set in the toolbar, or enable the "generate debugging info (-g3)" and disable the "strip additional info (-s)" options in the compiler set settings's "settings" page.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Trim trailing spaces</source>
|
||||
<translation type="unfinished"></translation>
|
||||
|
@ -5004,6 +4984,70 @@
|
|||
<source>GNU Assembler Manual</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Correct compiler setting</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>You are using a Debug compiler set with wrong compile/link settings: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source> - "Generate debug info (-g3)" should be turned on</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source> - "Strip executable (-s)" should be turned off</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to correct it now?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Can't Debug</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Your compiler set's "Strip executable (-s)" options is turnned on</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please correct it, recompile and retry debug.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The generated executable doesn't have symbol table, and can't be debugged.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Debug Failed</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The executable doesn't have symbol table, and can't be debugged.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please turn off your compiler set's "Strip executable (-s)" option, recompile and retry debug.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The executable doesn't have enough debug info to set breakpoint.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Then recompile and retry debug.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Or you can remove all breakpoints, open cpu info dialog, and try debug machine codes.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please choose a Debug compiler set in the toolbar, or turn on your compiler set's "Generate debug info (-g3)" option in the options dialog.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>NewClassDialog</name>
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -512,10 +512,6 @@
|
|||
<source>C Compiler(gcc)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Choose Profiler</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>C++ Compiler(g++)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
|
@ -524,10 +520,6 @@
|
|||
<source>Choose C++ Compiler</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Profiler(gprof)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>make</source>
|
||||
<translation type="unfinished"></translation>
|
||||
|
@ -660,10 +652,6 @@
|
|||
<source>Locate windres</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Locate gprof</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Assembler</source>
|
||||
<translation type="unfinished"></translation>
|
||||
|
@ -3353,14 +3341,6 @@
|
|||
<source>Convert to UTF-8</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Compile & Run</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>F11</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Rebuild All</source>
|
||||
<translation type="unfinished"></translation>
|
||||
|
@ -3949,14 +3929,6 @@
|
|||
<source>Source file is not compiled.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Compile now?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Source file is more recent than executable.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No compiler set</source>
|
||||
<translation type="unfinished"></translation>
|
||||
|
@ -3993,10 +3965,6 @@
|
|||
<source>Host application file '%1' doesn't exist.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Recompile?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Auto Save Error</source>
|
||||
<translation type="unfinished"></translation>
|
||||
|
@ -4705,22 +4673,6 @@
|
|||
<source>FPS Problem Set Files (*.fps;*.xml)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to set it now?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>You are not using a Debug compiler setting.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please use a Debug compiler set, or enable the "generate debugging info (-g3)" and disable the "strip additional info (-s)" options in the compiler settings.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please choose a Debug compiler set in the toolbar, or enable the "generate debugging info (-g3)" and disable the "strip additional info (-s)" options in the compiler set settings's "settings" page.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Trim trailing spaces</source>
|
||||
<translation type="unfinished"></translation>
|
||||
|
@ -4793,6 +4745,70 @@
|
|||
<source>GNU Assembler Manual</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Correct compiler setting</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>You are using a Debug compiler set with wrong compile/link settings: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source> - "Generate debug info (-g3)" should be turned on</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source> - "Strip executable (-s)" should be turned off</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to correct it now?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Can't Debug</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Your compiler set's "Strip executable (-s)" options is turnned on</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please correct it, recompile and retry debug.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The generated executable doesn't have symbol table, and can't be debugged.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Debug Failed</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The executable doesn't have symbol table, and can't be debugged.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please turn off your compiler set's "Strip executable (-s)" option, recompile and retry debug.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The executable doesn't have enough debug info to set breakpoint.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Then recompile and retry debug.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Or you can remove all breakpoints, open cpu info dialog, and try debug machine codes.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please choose a Debug compiler set in the toolbar, or turn on your compiler set's "Generate debug info (-g3)" option in the options dialog.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>NewClassDialog</name>
|
||||
|
|
Loading…
Reference in New Issue