Linux 是否可以通过管道将二进制数据传输到breakpad的dump_syms中

Linux 是否可以通过管道将二进制数据传输到breakpad的dump_syms中,linux,pipe,google-breakpad,Linux,Pipe,Google Breakpad,谷歌的dump_syms程序需要输入文件和输出文件来写入符号化文件,例如: $ dump_syms ./test.so > test.so.sym 我在内存缓冲区中有测试的二进制文件。如果我先将二进制文件写入临时文件,然后将其馈送到dump\u syms中,然后删除此临时源,则性能不佳 是否可以通过某种方式将二进制数据直接导入dump\u syms以绕过文件系统?我相信一定有一种方法可以从Linux的原生管道角度来实现这一点 我知道最好的方法是使用dump\u syms来支持管道,但我想

谷歌的
dump_syms
程序需要输入文件和输出文件来写入符号化文件,例如:

$ dump_syms ./test.so > test.so.sym
我在内存缓冲区中有
测试的二进制文件。如果我先将二进制文件写入临时文件,然后将其馈送到
dump\u syms
中,然后删除此临时源,则性能不佳

是否可以通过某种方式将二进制数据直接导入
dump\u syms
以绕过文件系统?我相信一定有一种方法可以从Linux的原生管道角度来实现这一点

我知道最好的方法是使用
dump\u syms
来支持管道,但我想它没有这个功能。考虑到这一点,如果有任何技巧可以修改dump_-syms以接受管道,我也很乐意听到。

您可以创建一个“,”,然后将其名称(将是文件系统上的一个路径)传递到
dump_-syms
。我不能说
dump\u syms
是否仍然有效,因为它可能需要管道不支持的随机访问


或者,如果您可以控制首先在内存中存储缓冲区的位置,您可以
mmap
文件,使用该内存区域存储数据,然后将该内存映射文件的名称指定给
dump\u syms

听起来不错。我会尽力回击。谢谢你的快速回复。投票通过了答案,虽然最终没有帮助。首先,命名管道不适用于
dump_syms
,因为它需要通过
mmap
将源文件映射到内存中,这在命名管道的情况下是不可能的。其次,在Node.js中使用内存映射并不简单,它意味着阻塞操作。我认为现在唯一可行的方法是直接修改
breakpad
的源代码来读取管道数据。好啊我想“疯狂”的优化解决方案是将您需要的功能作为一个库,而不是一个单独的可执行文件;然后你可以简单地操作你已经拥有的内存。也许不容易。是的,我同意。尽管目前我们没有资源将breakpad移植到Node.js NPM模块中。我相信这是最好的解决办法。