Как поставить неблокирующую точку останова в JDI (Java Интерфейс отладки)? - PullRequest
1 голос
/ 04 мая 2020

Когда у вас есть BreakpointEvent или StepEvent в JDI (Java Интерфейс отладки), происходит следующее: текущая исполняемая программа (отладчик) приостанавливается до тех пор, пока отладчик не обработает событие точки останова и не возобновит работу отладчика. Но если у вас есть много точек останова, это становится медленным, даже если отладчик возобновляет работу дебютанта немедленно каждый раз, когда он получает событие точки останова (связь между отладчиком и отладчиком осуществляется через сокеты или разделяемую память, которая не мгновенная).

Но если вы хотите создать инструмент, в котором вам просто нужна информация о событиях для их хранения и последующей обработки (например, при создании профилировщика и т. д. c.), как вы можете установить эти точки останова, чтобы не приостанавливать работу программы? Или, другими словами, как можно извлекать следы стека и переменную информацию из запущенной программы асинхронным способом?

...