当涉及格式字符串时,printf 不会打印到 Xcode 调试器(在插件环境中)
我这里有一个非常模糊的问题。我正在使用 Xcode 编写一个 Photoshop 插件(适用于 Mac)。
我使用 printf 语句进行简单的调试。没有格式字符串的 printf 工作正常,但是,如果我使用格式字符串尝试打印出一个值,它不会显示在 xcode 的调试器控制台中。
#include <stdio.h>
DLLExport MACPASCAL void PluginMain(const int16 selector,
FilterRecordPtr filterRecord,
intptr_t * data,
int16 * result) {
printf("hello world\n"); //shows up in console
printf("hi number %i\n", 5);//does not show up in console
....
}
我通过 Xcode 启动 Photoshop 进行调试,然后从 Photoshop 的菜单运行我的插件。如果我从终端直接执行“gdb Photoshop”,格式字符串 printf 就可以正常工作。另外,我在 Xcode 中编写了一个简单的独立 hello world 程序,格式字符串也在那里工作得很好。显然,它与成为插件的一部分有关,但很奇怪的是,普通 printf 可以工作,但格式字符串 printf 却不能。
有什么线索吗?
I have a pretty obscure problem here. I'm writing a photoshop plugin (for mac) using Xcode.
I use printf statements for simple debugging. A printf without a format string works fine, however, if I use a format string to try and print out a value it does not show up in xcode's debugger console.
#include <stdio.h>
DLLExport MACPASCAL void PluginMain(const int16 selector,
FilterRecordPtr filterRecord,
intptr_t * data,
int16 * result) {
printf("hello world\n"); //shows up in console
printf("hi number %i\n", 5);//does not show up in console
....
}
I am debugging by having Xcode launch photoshop, then I run my plugin from photoshop's menu. If I do straight 'gdb Photoshop' from a terminal, the format string printf's work just fine. Also, I wrote a simple stand alone hello world program in Xcode and format strings also work just fine there. So obviously it has something to do with being part of a plugin but it's very odd that normal printf's work but format string printf's don't.
Any clues?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论