如何调试gRPC服务器崩溃没有任何错误?

时间:2018-01-06 16:30:04

标签: c++ grpc

我从gRPC helloworld example复制了粘贴的gRPC服务器。

它开始在指定的端口中侦听RPC,但是当我使用复制粘贴的客户端调用RPC时,它会因“Aborted(core dumped)”而崩溃,而在客户端,我收到错误消息“Endpoint read failed”。

我尝试通过在RPC函数实现中包含一些输出语句来调试它,但执行永远不会达到目的。

没有其他错误消息,是否有一些标志使故障更加冗长以进行调试?

2 个答案:

答案 0 :(得分:1)

除了上面提到的GRPC_VERBOSITY之外,您还应该将GRPC_TRACE设置为类似http,secure_endpoint的内容并使用调试版本。有关选项的完整列表:https://github.com/grpc/grpc/blob/master/doc/environment_variables.md

答案 1 :(得分:0)

IIUC构建成功,因此我认为这个问题不需要#bazel标记。

看起来您可以将GRPC_VERBOSITY环境变量设置为值“DEBUG”,“INFO”或“ERROR”(https://github.com/grpc/grpc/blob/fead0879460da1a7990d43472f770bb4fe8145f6/src/core/lib/support/log.cc#L68)以控制日志记录。