如何知道driver各段的地址

ancient 2011-10-25 02:40:11
有两个driver A,B。
A希望知道B的用到的stack的地址,请问如何做到。
windows, linux皆可。
谢谢
...全文
194 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
njuwelkin 2011-11-02
  • 打赏
  • 举报
回复
帮忙顶一下。
liang_cheng_jie 2011-11-01
  • 打赏
  • 举报
回复
太深了,不懂
ancient 2011-10-31
  • 打赏
  • 举报
回复
这是kernel呀,一个地址空间中的
[Quote=引用 10 楼 bjtea 的回复:]

进程能够访问的地址和数据空间是有范围限制的,不能够越界访问。
所以,即使知道了另一个进程的数据地址或堆栈地址,也不能够访问。除非是数据共享内存。
[/Quote]
bjtea 2011-10-29
  • 打赏
  • 举报
回复
进程能够访问的地址和数据空间是有范围限制的,不能够越界访问。
所以,即使知道了另一个进程的数据地址或堆栈地址,也不能够访问。除非是数据共享内存。
ancient 2011-10-26
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 codesnail 的回复:]

进程间通讯只能通过发消息,共享内存等。

你这直接去看人家stack地址不等于是强盗吗?哈哈 不恰当的比喻 见谅。。。。
[/Quote]
kernel中是共享地址空间的,理论上一定能看到,就是不知道方法。
ancient 2011-10-26
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 codesnail 的回复:]

引用 2 楼 ancient 的回复:

引用 1 楼 codesnail 的回复:

进程间通讯只能通过发消息,共享内存等。

你这直接去看人家stack地址不等于是强盗吗?哈哈 不恰当的比喻 见谅。。。。

kernel中是共享地址空间的,理论上一定能看到,就是不知道方法。

操作系统绝不会给你提供这样的接口,因为除了其除了有可能让操作系统崩溃外无其他用处。。。。。。
[/Quote]
如果一个软件(或者操作系统本身)需要监控某一driver的使用情总,这种需求很合理呀.

我知道可以通过遍历PKTHREAD链表得到每一个kernel thread的stack地址.
但不知道怎么找到每个thread对应的driver.
ancient 2011-10-26
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 codesnail 的回复:]

引用 2 楼 ancient 的回复:

引用 1 楼 codesnail 的回复:

进程间通讯只能通过发消息,共享内存等。

你这直接去看人家stack地址不等于是强盗吗?哈哈 不恰当的比喻 见谅。。。。

kernel中是共享地址空间的,理论上一定能看到,就是不知道方法。

操作系统绝不会给你提供这样的接口,因为除了其除了有可能让操作系统崩溃外无其他用处。。。。。。
[/Quote]
如果一个软件(或者操作系统本身)需要监控某一driver的使用情总,这种需求很合理呀.

我知道可以通过遍历PKTHREAD链表得到每一个kernel thread的stack地址.
但不知道怎么找到每个thread对应的driver.
bjtea 2011-10-26
  • 打赏
  • 举报
回复
进程之间的数据,可以通过“管道”和“共享内存”来共享。
ancient 2011-10-26
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 codesnail 的回复:]

引用 2 楼 ancient 的回复:

引用 1 楼 codesnail 的回复:

进程间通讯只能通过发消息,共享内存等。

你这直接去看人家stack地址不等于是强盗吗?哈哈 不恰当的比喻 见谅。。。。

kernel中是共享地址空间的,理论上一定能看到,就是不知道方法。

操作系统绝不会给你提供这样的接口,因为除了其除了有可能让操作系统崩溃外无其他用处。。。。。。
[/Quote]
如果一个软件(或者操作系统本身)需要监控某一driver的使用情总,这种需求很合理呀.

我知道可以通过遍历PKTHREAD链表得到每一个kernel thread的stack地址.
但不知道怎么找到每个thread对应的driver.
ancient 2011-10-26
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 codesnail 的回复:]

引用 2 楼 ancient 的回复:

引用 1 楼 codesnail 的回复:

进程间通讯只能通过发消息,共享内存等。

你这直接去看人家stack地址不等于是强盗吗?哈哈 不恰当的比喻 见谅。。。。

kernel中是共享地址空间的,理论上一定能看到,就是不知道方法。

操作系统绝不会给你提供这样的接口,因为除了其除了有可能让操作系统崩溃外无其他用处。。。。。。
[/Quote]

设想一个软件(或者就是操作系统本身)需要监控某一driver的行为,这样的接口不是很合理吗?
另外,如果没有提供这样的接口,可以通过遍历某些数据得到吗?

我所知道的:通过遍历PKTHREAD链表,可以得到所有kernel thread的栈使用情况.
而我不知道如果让thread跟其所属的driver对应起来.
codesnail 2011-10-26
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 ancient 的回复:]

引用 1 楼 codesnail 的回复:

进程间通讯只能通过发消息,共享内存等。

你这直接去看人家stack地址不等于是强盗吗?哈哈 不恰当的比喻 见谅。。。。

kernel中是共享地址空间的,理论上一定能看到,就是不知道方法。
[/Quote]
操作系统绝不会给你提供这样的接口,因为除了其除了有可能让操作系统崩溃外无其他用处。。。。。。
ancient 2011-10-26
  • 打赏
  • 举报
回复
nnd,上午网络有问题,回了一次居然发了这么多遍
codesnail 2011-10-25
  • 打赏
  • 举报
回复
进程间通讯只能通过发消息,共享内存等。

你这直接去看人家stack地址不等于是强盗吗?哈哈 不恰当的比喻 见谅。。。。

21,616

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
  • 驱动开发/核心开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧