2

我是开发 Chrome 扩展的初学者。我正在尝试在我的扩展和 C++ 代码之间实现本机消息传递。这是C++代码

int main(int argc, char* argv[]) {
// Define our message
char message[] = "{\"text\": \"This is a response message\"}";
// Collect the length of the message
unsigned int len = strlen(message);
// We need to send the 4 bytes of length information
printf("%c%c%c%c", (char) (len & 0xff),
                   (char) ((len>>8) & 0xFF),
                   (char) ((len>>16) & 0xFF),
                   (char) ((len>>24) & 0xFF));
// Now we can output our message
printf("%s", message);
return 0;

}

问题是扩展确实收到了任何东西,我不知道如何调试程序。我尝试从终端打开 Chrome 以显示错误,但那里没有显示任何内容。这是来自 background.js 的代码

var port = chrome.runtime.connectNative('com.my_company.my_application');

port.onMessage.addListener(function(msg) {
    console.log("Received" + msg);
});

port.onDisconnect.addListener(function() {
    console.log("Disconnected");
});

有什么办法可以调试程序?

4

2 回答 2

0

您可以在启用日志记录的情况下运行 Chrome,然后使用 Sawbuck(专为此设计的便捷 GUI)查看错误。如果问题出在 Chrome 上,它可能会有所帮助。

见这里 - http://www.chromium.org/for-testers/enable-logging

于 2014-05-28T13:51:58.803 回答
0

有多种调试方法,但不存在像调试这样的终端 IDE。

  1. 调试您的背景和内容脚本--- chrome 工具中的背景和页面内容部分

  2. 调试主机 --- 从启用了日志记录的终端打开 chrome

  3. 本机消息 API 还为您提供了一些方法,这些方法将返回适当的错误消息,例如,runtime.lastError

    可以参考这个

于 2017-04-10T13:12:49.240 回答