当涉及格式字符串时,printf 不会打印到 Xcode 调试器(在插件环境中)

发布于 2024-09-12 09:16:51 字数 784 浏览 4 评论 0原文

我这里有一个非常模糊的问题。我正在使用 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文