| | 29 | |
| | 30 | |
| | 31 | == Things to be aware of == |
| | 32 | |
| | 33 | * You might think that you could use the `-fvia-C -optc-g` options to force GHC to export C-source-level debugging symbols. The Evil Mangler script that post-processes the `.s` file output by `gcc` does not understand the debug annotations added by `gcc`'s `-g` flag, and so `-optc-g` will not work. You can, however, get GHC to output assembly-level debugging symbols by using `-opta-g`. You'll probably also want to use the `-keep-s-files` option so that `opannotate` can get at the relevant `.s` files. |
| | 34 | |
| | 35 | * Suppose that you do |
| | 36 | {{{ |
| | 37 | $ sudo opcontrol --setup --event=<eventname>:<count> |
| | 38 | }}} |
| | 39 | and receive an error message that "Count `<count>` for event `<eventname>` is below the minimum." If you check the minimum value for |
| | 40 | `<eventname>` using the `--list-events` option and see that `<count>` is in fact not below the purported minimum count, then you may have passed |
| | 41 | in a non-zero value for `--callgraph` option. When doing callgraph profiling, OProfile requires that the sample count be at least 15 times the |
| | 42 | minimum. |
| | 43 | [[BR]][[BR]] |
| | 44 | `opcontrol --status` will show you if callgraph is currently set. To reset it, make sure the oprofile daemon is stopped and reset the callgraph |
| | 45 | value: |
| | 46 | {{{ |
| | 47 | $ sudo opcontrol --shutdown |
| | 48 | $ sudo opcontrol --callgraph=0 |
| | 49 | }}} |
| | 50 | Now you can re-run your profiling and the original `<count>` should work. |
| | 51 | |