_dopr 是什么意思

发布于 2024-11-30 20:54:57 字数 349 浏览 0 评论 0原文

我有一个在 dopr 崩溃的 gdb 崩溃转储

这是做什么的? 我没有定义这个函数,也没有在任何地方使用调用。是libc函数吗?

[Switching to thread 1 (Thread 5339)]#0  0x00000000005f0937 in _dopr ()
(gdb) bt
#0  0x00000000005f0937 in _dopr ()
#1  0x00000000000003ff in ?? ()
#2  0x000000000111c3b0 in ?? ()
#3  0x00007fced1fe1f80 in ?? ()
#4  0x0000000000000000 in ?? ()

I have a gdb be crashed dump having crashed at dopr

What does this do ?
I have not defined this function and not using calling anywhere. Is is libc function ?

[Switching to thread 1 (Thread 5339)]#0  0x00000000005f0937 in _dopr ()
(gdb) bt
#0  0x00000000005f0937 in _dopr ()
#1  0x00000000000003ff in ?? ()
#2  0x000000000111c3b0 in ?? ()
#3  0x00007fced1fe1f80 in ?? ()
#4  0x0000000000000000 in ?? ()

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

往事风中埋 2024-12-07 20:54:57

正如评论中提到的 _dopr 不是你的问题。您看到的是堆栈损坏,并且在注释中,缓冲区溢出是最有可能的问题。

假设您正在使用 gcc 编译应用程序,请将选项:添加

-fstack-protector-all

到编译和链接选项中。这会在堆栈周围添加一些额外的哨兵位,当发生缓冲区溢出时,在 gdb 中,您会看到一条更有用的“检测到堆栈粉碎”消息,以及应用程序实际销毁堆栈之前的堆栈跟踪。

As mentioned in the comments _dopr isn't your problem. What you are looking at is stack corruption, and again, in the comments, a buffer overflow is the most likely problem.

Assuming you are compiling your application with gcc, add the option:

-fstack-protector-all

to your compile and link options. This stick a couple of extra sentinel bits around the stack, and when your buffer overflow occurs, in gdb you'll see a much more useful 'stack smashing detected' message, along with the stack trace of your application before it actually destroys the stack.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文