问题描述:我们平时在使用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中使用,用于指定目录下调用 程序