【问题标题】:std::cout with Android NDK on Visual Studio 2015在 Visual Studio 2015 上使用 Android NDK 的 std::cout
【发布时间】:2016-04-13 17:47:13
【问题描述】:

我在 VisualStudio 2015 for Android NDK 中运行的 c++ 代码中使用 std::cout。 但是在 Visual Studio 调试器中没有打印任何内容。调试android ndk应用程序时,有没有办法将std :: cout的所有内容重定向到visualstudio?在使用 Visual Studio 时,我看到了一些针对 Windows 重定向 std::cout 的建议,但对于 Android 则没有。

【问题讨论】:

    标签: c++ visual-studio android-ndk


    【解决方案1】:

    来自Android documentaion

    默认情况下,Android 系统将 stdout 和 stderr(System.out 和 System.err)输出发送到 /dev/null。在运行 Dalvik VM 的进程中。

    您可以让系统将输出的副本写入日志文件。在这种情况下,系统使用日志标签 stdout 和 stderr 将消息写入日志,两者的优先级均为 I。

    要以这种方式路由输出,您需要停止正在运行的模拟器/设备实例,然后使用 shell 命令 setprop 启用输出重定向。以下是你的做法:

    $ adb shell stop
    $ adb shell setprop log.redirect-stdio true
    $ adb shell start
    

    【讨论】:

    • 是的,我已经看到了这个建议,但我没有使用 ndk-build 环境。该问题特定于新的 Visual Studio 2015 android 编译器/调试器。
    猜你喜欢
    • 2015-05-05
    • 2012-02-10
    • 2015-01-13
    • 2015-11-01
    • 2015-11-16
    • 2015-10-20
    • 1970-01-01
    • 1970-01-01
    • 2011-05-02
    相关资源
    最近更新 更多