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

How to debug gRPC server crashing without any error?

本文关键字:崩溃 错误 任何 服务器 gRPC 何调试 调试      更新时间:2023-10-16

我已经从gRPC helloworld示例中复制了粘贴的gRPC服务器。

它开始侦听指定端口中的 RPC,但是当我使用复制粘贴的客户端调用 RPC 时,它崩溃并显示"中止(核心转储(",并且在客户端我收到错误消息"终结点读取失败"。

我尝试通过在 RPC 函数实现中包含一些输出语句来调试它,但执行从未达到这一点。

没有其他错误消息,是否有一些标志可以使调试失败更详细?

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

IIUC 构建成功,所以我认为这个问题不需要 #bazel 标签。

看起来您可以将GRPC_VERBOSITY环境变量设置为值"调试","信息"或"错误"(https://github.com/grpc/grpc/blob/fead0879460da1a7990d43472f770bb4fe8145f6/src/core/lib/support/log.cc#L68(以控制日志记录。