1

我正在编写一个使用 pion 库的应用程序,并在尝试发送请求时注意到崩溃。由于分段错误而发生崩溃。这是在 Linux 中,我与 PION_FULL 链接。

代码:

pion::net::HTTPRequest httpRequest("/sm_login/trusted.asp?app-id=test");
int port = 80;

httpRequest.setMethod("GET");
httpRequest.addHeader("Host", "127.0.0.1");

pion::net::TCPConnection connPtr(IO_service);

error = connPtr.connect(boost::asio::ip::address::from_string("127.0.0.1"), port);

if (error || !connPtr.is_open())
{
    dprintf(("Unable to establish connection"));
    return false;
}

httpRequest.send(connPtr, error);

倾倒:

#0  0x0eec4bb4 in void pion::net::HTTPMessage::changeValue<std::tr1::unordered_multimap<std::string, std::string, CaseInsensitiveHash, CaseInsensitiveEqual, std::allocator<std::pair<std::string const, std::string> > >
>(std::tr1::unordered_multimap<std::string, std::string, CaseInsensitiveHash, CaseInsensitiveEqual, std::allocator<std::pair<std::string const, std::string> > >&, std::string const&, std::string const&) () from /sw/lib/libpion-net-2.2.12.so
#1  0x0eec11f0 in pion::net::HTTPMessage::send(pion::net::TCPConnection&, boost::system::error_code&) () from /sw/lib/libpion-net-2.2.12.so
#2  0x0f1e6c24 in CHeapInterface::SendRequest(std::string const&, std::string&, CHeapInterface::EHeapMsgType) () from /sw/lib/libMgmt.so

谢谢,

4

1 回答 1

1

问题是由于用于构建 pion 库的交叉编译器版本不匹配。该应用程序不再崩溃。

于 2011-03-01T18:51:36.543 回答