小编use*_*708的帖子

如何在Mac OS X上使用dtruss来成功跟踪子进程?

dtruss手册页说:

       -f     follow children as they are forked
Run Code Online (Sandbox Code Playgroud)

这听起来就像我想要的那样.但是,请遵循以下行为:

WhiteAndNerdy% uname -a
Darwin WhiteAndNerdy.local 13.4.0 Darwin Kernel Version 13.4.0: Wed Dec 17 19:05:52 PST 2014; root:xnu-2422.115.10~1/RELEASE_X86_64 x86_64
WhiteAndNerdy% sudo dtruss -f -t writev /bin/echo hello world
hello world
    PID/THRD  SYSCALL(args)          = return
37273/0x90e264:  writev(0x1, 0x7F8832D00000, 0x4)        = 12 0

WhiteAndNerdy% sudo dtruss -f -t writev sh -c '/bin/echo hello world'
    PID/THRD  SYSCALL(args)          = return

WhiteAndNerdy% sudo dtruss -f -t writev bash -c '/bin/echo hello world'
    PID/THRD  SYSCALL(args)          = …
Run Code Online (Sandbox Code Playgroud)

macos dtruss

6
推荐指数
0
解决办法
1498
查看次数

使用 GNU ld,如何自动将我的代码分布到多个区域?

我遇到一种情况,我的 ROM 只能占用某些内存区域,这些区域是不相交的。例如,假设我在链接器脚本中定义了以下内存区域:

MEMORY
{
  lowrom (rx)           : ORIGIN = 0x5000,  LENGTH = 0x2000
  midrom (rx)           : ORIGIN = 0xD000,  LENGTH = 0x1000
  hirom  (rx)           : ORIGIN = 0xF000,  LENGTH = 0x1000
}
Run Code Online (Sandbox Code Playgroud)

我想要的是让代码进入lowrom直到它已满,然后让代码进入midrom直到它充满,然后让剩余的代码进入hirom.

GNU ld 文档说链接器不会随机排列部分以适应可用区域。 所以听起来我想做的事情是不可能的。

有某种解决方法吗?我想避免手动选择哪些内容进入哪个内存区域。

(或者是否有另一个开源可重定向链接器支持此功能?)

memory embedded ld

5
推荐指数
1
解决办法
680
查看次数

标签 统计

dtruss ×1

embedded ×1

ld ×1

macos ×1

memory ×1