I have a memory leak in my app. I just see in task manager how RAM grows when app is running. In case this helps, this is my app: GitHub - idewave/idewave-cli at dev.
Could somebody help me to detect where is memory leak ? What are the common practices and approaches ?
I build app in release: cagro build --release. When I run it from .exe it crashes after some time, when I run it from console it not crashes. In both cases memory grows pretty fast.
In the meantime you can observe your program's behavior with a Windows debugger (such as the one coming with Visual Studio or gdb) and see if there is a leak or not. The task manager isn't made for that kind of tracing.
Unfortunately, I have no way to test the application so I cannot gather any memory stats for you. But I was able to build it on Ubuntu with WSL2, meaning you should be able to use Valgrind memcheck on it.
A third option is dhat (which is based on Valgrind DHAT, which itself is sort of a more advanced version of Valgrind memcheck.) This one might even work on Windows natively, I haven't actually tried it there.
Good debugging tools are still sadly missing on Windows, but WSL does enable some good debugging facilities in some cases. I think it might fit your situation quite well.