腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
2
回答
不存在的sstk()
系统
调用
的用法示例?
、
、
、
、
为了庆祝Stackoverflow的新标志设计,我很好奇sstk()在BSD和其他类似UNIX的操作
系统
中的意义是什么?根据
Linux
内核
系统
调用
接口手册,sstk(2)应该: 这个
调用
在4.3BSD或4.4BSD、glibc或
Linux
或任何其他类似Unix的<em
浏览 4
提问于2015-09-15
得票数 2
回答已采纳
1
回答
在Python中
调用
堆栈
的内核可见性
、
、
、
、
操作
系统
是否对CPython中的
调用
堆栈
(例如函数之间的
调用
)具有可见性?例如,在创建、检索和/或管理Python
堆栈
及其的操作中,操作
系统
以什么方式参与?上下文: 我的理解是,Python解释器执行而不是支持尾
调用
递归,因此这似乎是由处理的。大多数OS对
堆栈
的大小设置了最大限制(例如,我相信
Linux
的最大
堆栈
大小默认为8192 KB,但可以通过例如ulimit进行更改),这意味着内核显然可以参与限制
浏览 3
提问于2020-06-06
得票数 0
回答已采纳
2
回答
如何使用来自
Linux
内核模块的
Linux
系统
调用
、
、
、
我在
Linux
内核模块中
调用
系统
调用
时遇到了一些困难。
系统
调用
已经过测试,并在标准的c++用户空间程序中正常工作,但我似乎无法让内核模块编译和运行它们。在我的用户程序中,我包含了以下代码,
系统
调用
工作:#define __NR_sys_mycall 343 extern long int _当我在我的中尝试同样的事情时,我会得到一堆错误,它们要么是错误
浏览 1
提问于2014-11-15
得票数 7
回答已采纳
1
回答
FreeBSD与
Linux
:内核
调用
约定的性能
、
、
、
、
来自Int80h.org,FreeBSD汇编语言教程只保存需要保存的寄存器,这些寄存器要么是,要么
浏览 0
提问于2018-05-30
得票数 3
1
回答
linux
内核如何在用户模式和内核模式
堆栈
之间切换?
、
当
系统
调用
或中断出现时,
linux
内核如何在用户模式和内核模式
堆栈
之间切换?我的意思是,确切的机制是什么--用户模式
堆栈
指针发生了什么?内核模式
堆栈
指针从哪里来?硬件做什么,软件做什么?
浏览 4
提问于2016-07-13
得票数 2
回答已采纳
2
回答
获取
Linux
中每个进程堆和
堆栈
的大小。
、
、
、
我想知道
linux
中每个进程的堆和
堆栈
的大小。有什么办法能找到吗? 我发现sbrk(0)会给我堆的末端。但是如何找到堆的开始来获得堆的大小呢?此外,在
堆栈
大小上,是否有任何方法可以通过任何库
调用
或
系统
调用
来找到每个进程的
堆栈
和当前
堆栈
指针地址的开始?
浏览 5
提问于2016-10-19
得票数 2
回答已采纳
2
回答
如何以编程方式获得
Linux
进程的
堆栈
开始和结束地址?
、
、
对于单线程程序,我想检查给定的虚拟地址是否在进程的
堆栈
中。我想在用C写的过程中做到这一点。 /proc/self/maps为我的特定进程显示了一个132 k的
堆栈
,并且在我的
系统
上,
堆栈
的最大大小(ulimit -s)是8 mega。
Linux
如何知道由于我们超过<e
浏览 5
提问于2014-04-23
得票数 16
回答已采纳
2
回答
线程
堆栈
分配
、
、
、
我们知道每个线程都有自己的
堆栈
。这些
堆栈
在哪里分配?我读过一些文档,当创建线程时,
堆栈
似乎是从堆中分配的。这有道理吗?提前感谢!
浏览 2
提问于2014-05-16
得票数 5
回答已采纳
1
回答
在大多数操作
系统
中,为什么不能在运行时增加
堆栈
?
、
、
是为了避免分裂吗?还是其他原因?与具有手动生存期的malloc()相比,内存分配的集合生存期是一个非常有用的构造。
浏览 2
提问于2021-01-09
得票数 4
回答已采纳
1
回答
LD_PRELOAD不适用于打印
、
、
、
我正在使用LD_PRELOAD来捕获
linux
中的write()
系统
调用
。我能够成功地为编写
系统
调用
执行此操作并使其正常工作。 但是当我
调用
printf()时,它就不能工作了。如果我们使用strace观察printf
堆栈
跟踪,我发现printf在最后
调用
write()
系统
调用
来写入控制台,但当时我的write()
系统
调用
在实际
调用
write()
系统</em
浏览 2
提问于2011-03-23
得票数 5
2
回答
程序的
调用
堆栈
是否因操作
系统
和/或编程语言的不同而不同?
、
、
我知道
调用
堆栈
有一种定义良好的在
linux
IA32中操作的方法。
调用
堆栈
的操作方式可以从一个体系结构改变到另一个体系结构。但是,它是否也依赖于编程语言和操作
系统
?
浏览 1
提问于2019-10-28
得票数 0
回答已采纳
1
回答
x64上的
调用
约定
、
、
、
我在几个地方看到,微软针对x64平台的
调用
约定被缩小到只有一个:
调用
者清除
堆栈
(cdecl),参数是在
堆栈
和寄存器的组合中传递的(我不会在这里讨论确切的细节)。我假设如果这是操作
系统
的
调用
约定,那么可能所有其他针对Windows的编译器(例如mingw-w64)也遵循它。 这种
调用
约定在其他主要平台(x64、
Linux
等)上也是正确的吗?或者
Linux
仍然使用多个
调用
约定,甚至只使用一个而不是另一个?在x64 <em
浏览 4
提问于2013-08-09
得票数 8
回答已采纳
4
回答
如何在Mac OS X中打印内核
调用
堆栈
、
、
在
Linux
中,我可以使用echo t > /proc/sysrq-trigger来转储
系统
中所有线程的内核
调用
堆栈
。 在Mac中有没有实现同样目的的方法?或者有什么方法可以转储一个进程的内核
堆栈
?
浏览 18
提问于2016-03-21
得票数 0
1
回答
linux
:有什么"gprof“可以做,而"perf”不能做的工作吗?需要澄清
、
、
、
、
这两个工具都是
linux
性能和分析探测工具。我发现"perf“看起来更强大,因为它可以追溯到内核
调用
级别。
浏览 1
提问于2017-03-21
得票数 3
回答已采纳
1
回答
每个线程都有自己的
堆栈
吗?
、
、
、
、
当我从一个进程创建多个线程时,每个线程是有自己的
堆栈
,还是它们共享其父进程的
堆栈
。当线程进行
系统
调用
时会发生什么?线程是否也像进程一样维护自己的内核
堆栈
?
浏览 3
提问于2013-08-21
得票数 24
回答已采纳
2
回答
使用命令行工具确定是什么阻塞了OSX上的进程?
、
、
、
、
在
Linux
上,它将是带有strace的,也可能是lsof或/proc,在OSX上它曾经很容易,直到truss和底层
系统
调用
(afaik)一起从OSX Leopard中删除。显而易见的方法是用dtrace来解决这个问题,但据我所知,dtrace不会这样做,因为它会在事件发生时捕获它们--在我的例子中,阻塞
系统
调用
已经开始了。我看到Xcode的Instruments有一个监视器,它通过周期性地对进程的
堆栈
进行采样来实现类似的功能(不确定它依赖于什么
系统
调
浏览 0
提问于2012-10-26
得票数 5
回答已采纳
1
回答
堆栈
增长在windows和
linux
上是如何工作的?
、
、
、
我刚读到windows程序在函数进入时
调用
_alloca来增加
堆栈
,如果它们需要超过4k的
堆栈
。我猜测,每次命中保护页面时,windows都会为
堆栈
分配一个新的页面,因此_alloca以4k的步长访问
堆栈
来分配空间。 我还读到这只适用于windows。如果
linux
(或其他操作
系统
)不需要_alloca,它们如何解决这个问题
浏览 6
提问于2011-07-21
得票数 2
回答已采纳
1
回答
在Windows上使用SASM进行装配编程,并以INT0x80 (
Linux
系统
调用
)为例
、
、
、
我需要帮助。我试图在SASM中运行下面的程序(NASM)。SYS_READ equ 3STDIN equ 0 len1 equ $- msg1 len2 equ $- msg2 msg3 db "The sum
浏览 2
提问于2016-11-26
得票数 1
1
回答
获取
堆栈
指针x86_64
linux
系统
调用
、
我已经在x86_64
Linux
3.0上实现了syscall,并且想知道如何获得
调用
进程的
堆栈
指针(%rsp)。我的syscall是普通的香草syscall..。我习惯于使用task_pt_regs来获取
调用
进程的
堆栈
帧,但是从arxh/x86/include/asm/ptrace.h中,struct pt_regs中的注释注意到,在
调用
CPU syscall指令和
调用
实际的syscall时,非跟踪
系统
并不会读取
浏览 3
提问于2012-08-28
得票数 0
6
回答
如何为
linux
上的clone()
系统
调用
映射
堆栈
?
、
、
、
、
Linux
上的clone()
系统
调用
接受一个参数,该参数指向新创建的线程要使用的
堆栈
。我遇到了,它解释说:“
Linux
pthread实现使用的最佳解决方案是使用mmap来分配内存,并使用标志指定在使用时分配的内存区域。这样,内存就会在需要时分配给
堆栈
,如果
系统
无法分配额外的内存,就会出现分段冲突。” 我听说mmap使用的唯一上下文是将文件映射到内存中,实际上,阅读mmap手册页需要一个文件描述符。如何使用它来分配一个动态长度的
堆栈
给clone()?这
浏览 0
提问于2009-07-04
得票数 13
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
Linux系统调用实例和功能速查
介绍Linux下的系统调用过程
Linux的系统调用与函数库的关系
从 Rust 调用 C 库函数|Linux 中国
fork系统调用理解
热门
标签
更多标签
云服务器
ICP备案
对象存储
即时通信 IM
腾讯会议
活动推荐
运营活动
广告
关闭
领券