问题:如何qDebug自己开发的运行在BlackBerry 10的Work Space中的企业应用呢?
2013-04-16 10:22
681 查看
要知道,在Work Space中运行的企业应用,是通过BDS服务器推送下来的,Cascade IDE是连不上去做debug的。
而且,你也没有办法到/accounts/1000/appdata/myappxxxxxx/logs下面看到企业应用的log。
思路:在Cascade/Qt主程序中,重定向qDebug输出到console和/tmp/ddemo_console.txt文件,那么我就可以用IDE ssh连到手机上面,查看这个文本文件看日志了。
step 1)编辑主程序代码,输出文本到console和/tmp/ddemo_console.txt文件
void myMessageOutput(QtMsgType type, const char* msg) {
/* print debug message to IDE console */
std::fprintf(stdout, "%s\n", msg);
std::fflush(stdout);
QString text;
switch (type)
{
case QtDebugMsg:
text = QString("Debug: %1").arg(msg);
break;
case QtWarningMsg:
text = QString("Warning: %1").arg(msg);
break;
case QtCriticalMsg:
text = QString("Critical: %1").arg(msg);
break;
case QtFatalMsg:
text = QString("Fatal: %1").arg(msg);
break;
}
/* print debug message to file /tmp/ddemo_console.txt */
QFile file("/tmp/ddemo_console.txt");
file.open(QIODevice::WriteOnly | QIODevice::Append);
QTextStream ts(&file);
ts<<text<<endl;
file.close();
std::fflush(stdout);
}
step 2)在程序的main()方法中重定向qDebug()输出
qInstallMsgHandler(myMessageOutput);
step 3)应用中,用qDebug输出调试信息,比如
#include <QDebug>
qDebug()<< "Trying to start the demo.";
step 4)编译签名应用,上传到BDS服务器,从服务器上面推送安装应用到手机上。
step 5)手机启用开发者模式,PC机上用IDE ssh连接到手机,查看/tmp/ddemo_console.txt文件。
tail -f /tmp/ddemo_console.txt
----------------------------------------------
参考:https://developer.blackberry.com/cascades/download/releasenotes/
而且,你也没有办法到/accounts/1000/appdata/myappxxxxxx/logs下面看到企业应用的log。
思路:在Cascade/Qt主程序中,重定向qDebug输出到console和/tmp/ddemo_console.txt文件,那么我就可以用IDE ssh连到手机上面,查看这个文本文件看日志了。
step 1)编辑主程序代码,输出文本到console和/tmp/ddemo_console.txt文件
void myMessageOutput(QtMsgType type, const char* msg) {
/* print debug message to IDE console */
std::fprintf(stdout, "%s\n", msg);
std::fflush(stdout);
QString text;
switch (type)
{
case QtDebugMsg:
text = QString("Debug: %1").arg(msg);
break;
case QtWarningMsg:
text = QString("Warning: %1").arg(msg);
break;
case QtCriticalMsg:
text = QString("Critical: %1").arg(msg);
break;
case QtFatalMsg:
text = QString("Fatal: %1").arg(msg);
break;
}
/* print debug message to file /tmp/ddemo_console.txt */
QFile file("/tmp/ddemo_console.txt");
file.open(QIODevice::WriteOnly | QIODevice::Append);
QTextStream ts(&file);
ts<<text<<endl;
file.close();
std::fflush(stdout);
}
step 2)在程序的main()方法中重定向qDebug()输出
qInstallMsgHandler(myMessageOutput);
step 3)应用中,用qDebug输出调试信息,比如
#include <QDebug>
qDebug()<< "Trying to start the demo.";
step 4)编译签名应用,上传到BDS服务器,从服务器上面推送安装应用到手机上。
step 5)手机启用开发者模式,PC机上用IDE ssh连接到手机,查看/tmp/ddemo_console.txt文件。
tail -f /tmp/ddemo_console.txt
----------------------------------------------
参考:https://developer.blackberry.com/cascades/download/releasenotes/
相关文章推荐
- 关于“如何保证自己开发的软件只能在一台电脑上运行问题”的思考
- 【Win 10应用开发】如何知道UAP在哪个平台上运行
- 【Win 10应用开发】如何知道UAP在哪个平台上运行
- 【Win 10应用开发】如何知道当前APP在哪个平台设备上运行
- ABAP--如何限制自己开发的耗时报表在sap系统中运行的个数,以保证正常业务的进行
- 如何快速把安卓应用移植到BlackBerry 10上
- 朋友的一个问题:Linux开机如何自动运行自己编写好的shell脚本
- Spring 3.x企业应用开发实战(10)----AOP切面
- 下一代BlackBerry 10应用软件开发技术
- Android开发之如何在WebView中点击链接使用自身打开(解决出现的选择使用第三方应用的问题)
- Android高级开发第一讲--如何在Android应用中避免内存溢出OOM问题
- 数据并发问题-精通spring 企业应用开发实战读书笔记
- 【UWP开发】如何判断UWP应用在PC还是在xbox上运行?
- react native下开发应用遇到的几个问题以及自己的解决办法
- Vue开发跨端应用(五)cordova-ios运行问题
- iOS开发如何将自己的程序在真机上运行
- Linux应用随笔(五)64位Debian8兼容运行32位adb开发android应用,并解决手机驱动问题
- 最简单的SAP云平台开发教程 - 如何开发UI5应用并运行在SAP云平台上
- 【Win 10应用开发】使用RichEditBox控件应注意的问题
- Android开发:自己开发的应用如何安…