Read the failure events
**7031** names a service that terminated unexpectedly, **7034** a service that stopped with an error count, and **7009** a timeout. The count in 7034 is the fastest way to see the loop.
Get-WinEvent -FilterHashtable @{LogName='System';Id=7031,7034,7000,7009} -MaxEvents 20 | Select-Object TimeCreated,Id,Message | Format-List
Get-Service -Name 'svcapp' | Select-Object Name,Status,StartType