I have some code in a library that I'd like to profile, but in the context 
of being bundled into an iOS app via gomobile, but it doesn't seem to work 
and I'm not sure if this is a known limitation, a bug, or something I'm 
doing wrong.

My basic code is:

```
var buf bytes.Buffer
pprof.StartCPUProfile(&buf)
/* call the expensive function */
pprof.StopCPUProfile()
/* save buf somewhere */
```

The docstring for `runtime.StartCPUProfile` mentions that when Go code is 
build in `c-archive` or `c-shared` mode, signal handling gets done by the 
main application, so profiling is broken unless you call 
`os/signal.Notify(ch, syscall.SIGPROF)`. I guess the implication is that 
this re-install the handler for `SIGPROF`? In any case, calling this 
function doesn't seem to fix things for me.

Anyone know if this is possible and I'm doing something wrong, or if this 
is just a limitation of the runtime in iOS?

(Alternatively, if anyone knows how to get Xcode profiler to symbolicate 
calls into a gomobile library, that would be an extremely useful 
alternative.)

Thanks!
Chris

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to