Erlang uses 100% of one of the processors

I have a situation where my project is frozen. I see only 100% use of one of the processors (the rest is 0%, but I use SMP).

And my admin console says:

=ERROR REPORT==== 11-Feb-2011::00:45:00 ===
** Node 'node@example.com' not responding **
** Removing (timedout) connection **

After that, I can’t connect to node.

If I program in C ++, I can build debugging, and when this situation happens, I can connect to my process and see the code where it loops.

But how can I do this in Erlang? How can I get a call stack or something that helps me understand what is really wrong?

Thanks for any help.

+3
source share
2 answers

You can compile your module with debugging information on the command line:

$ erlc +debug_info module.erl

Or in the Erlang shell:

1> c(module, debug_info).
ok

, . erlang:

2> debugger:start().

. , " ". , .

, Attach Process.

+6

Source: https://habr.com/ru/post/1791463/


All Articles