Binary instrumentation on Windows

64 views
Skip to first unread message

Patryk Lewandowski

unread,
Mar 24, 2023, 11:17:56 PM3/24/23
to golang-nuts
I wanted to ask if its possible to perform binary instrumentation of Golang application on Windows with use of Intel Pin tool. I built `memtrace` pintool for tracing all memory accesses, but using this against a Go generated binary results in panics. There are several different causes of panics:

```
runtime: g 1: unknown pc 0xc0005bf610
unexpected fault address 0xfd6d75
runtime: g 1: unexpected return pc for bufio.(*Reader).ReadByte
```

I suppose it somehow messes with application's stacks but i lack of knowledge about compiler and instrumentation internals to try to investigate that by myself.

I wanted to ask:
1) Is it possible to run Intel Pin against Go applications on Windows? If it is, what should i try to make it work?
2) I just want to trace memory accesses to found out memory access patterns for my application. If there is another, easier way to achieve that, please let me know. I wanted to try modified `asan` instrumentation, but from what i saw its not available on Windows? I was also thinking about modifying runtime and ssa to generate additional instructions during compilation but as i mentioned i lack of knowledge about it.
Reply all
Reply to author
Forward
0 new messages