问题描述:我们平时在使用vs2010调试程序时,有时候想把一些变量或者信息打印到输出窗口,以便观察程序的运行结果,可以方便知道程序运行的参数对不对,当然也可以写文件的方式,但是写文件太麻烦了,以下介绍把调试信息打印到输出窗口的两种方法。
方法一:写一个变参函数,把想要打印到输出窗口的信息传给函数,函数内部调用系统函数OutputDebugString(),就可以把调试信息打印到输出窗口。
void OutputDebugPrintf(const char* strOutputString,...)
{
char strBuffer[4096] = {0};
va_list vlArgs;
va_start(vlArgs, strOutputString);
_vsnprintf_s(strBuffer, sizeof(strBuffer) - 1, strOutputString, vlArgs);
va_end(vlArgs);
OutputDebugString(CA2W(strBuffer));
}
方法二:调用系统自带的库函数TRACE(),这个函数其实和printf()类似,只不过printf()这个是把信息输出到控制台窗口,而TRACE()这个函数是把信息输出到vs2010的输出窗口,方便编程人员调试用。
TRACE(“%s”, "no error, no warning");
TRACE(“%d”, 1024);
TRACE(“%d”, 520.1314);
TRACE(“%c”, 'U');
问题描述:我们平时在使用vs2010调试程序时,有时候想把一些变量或者信息打印到输出窗口,以便观察程序的运行结果,可以方便知道程序运行的参数对不对,当然也可以写文件的方式,但是写文件太麻烦了,以下介绍把调试信息打印到输出窗口的两种方法。方法一:写一个变参函数,把想要打印到输出窗口的信息传给函数,函数内部调用系统函数OutputDebugString(),就可以把调试信息打印到输出窗口。vo...
在微软的Visual Studio开发环境(如
VS
2010
)下开发C++的控制台项目
时
,通常标准打(fprintf(stdout/stderr),printf等)印
信息
是无法
输出
的。这就不便于代码调试(除非设断点跟踪),特别是在调用库(lib/dll)
时
,无法得到有效的调试
信息
。
有一种方式可以实现这种需求的,也就是把
输出
信息
打印
到在
VS
的output
窗口
中,下面以
VS
2010
为例。
在.pro 文件中添加 Config += console,qt 中将显示控制台
窗口
,并会将qDebug()中的
信息
输入到控制台中
等价于 在 项目配置中 ,qmake 额外参数项中加入 "CONFIG+=console",或者如下
qt .pro 工程文件中
输出
日志 使用message 函数message("ArcGIS Runtime...
vs
2010
+ qt
新建一个application
程序
,DEBUG编译的
时
候没有问题,但是改成
release
编译的
时
候会出来一个界面,显示:
“无法找到xxx.exe调试
信息
,或者调试
信息
不匹配,未使用调试
信息
生成二进制文件,是否继续调试?”
把按F5替代成F5+Ctrl就没这个提示
框
了,这个提示
框
没什么问题,都
Release
变异了,还要什么调试
信息
呢!
对比debug和releas
How to: Debug a
Release
Build
You can debug a
release
build of an application.
To debug a
release
build
Open the Property Pages dialog box for the project. For details, see Working with Project...
ProcessBuilder pb = new ProcessBuilder("path/to/program.exe");
pb.directory(new File("path/to/directory"));
Process p = pb.start();
其中,"path/to/program.exe"是要调用的
程序
的路径,"path/to/directory"是指定的目录路径。这段代码可以在Java中使用,用于指定目录下调用
程序
。