Problem with app in different computers... Tracking it (windows)???



  • I created an app on qt, it runs well in debug or release mode in qt designer, it also runs well in a computer (windows), in both cases:

    1. I put in environment variables in Path, the directories of QT version and compiler. In this case if I run the exe there are not any problems. Excellent.

    2. I do not put the directories of QT version and compiler in environment variables in Path. In this case, if I run the exe, it asks me some libraries that missing, but again after putting them there are not any problems. Again it runs excellent.

    But if I put the app in another computer, it asks me again for the same libraries, I put them, it starts running, but it is not doing well its mission.

    So I am wondering, is there a way (on windows) to track this application during running time, to see exactly what it is doing? Something like task manager details? But I want much more details.

    And to be more specific, this app sends some requests (GET, POST) to some servers. So, during its running time, is there a way to see what requests it sends to servers and what their responses are?

    Thanks in advance.



  • But if I put the app in another computer, it asks me again for the same libraries, I put them, it starts running, but it is not doing well its mission

    It's not just about the libraries but also the plugins. use windeployqt to deploy your application with everything it needs.

    So I am wondering, is there a way (on windows) to track this application during running time, to see exactly what it is doing?

    You just described a debugger so yes. there is.

    is there a way to see what requests it sends to servers and what their responses are?

    you can track network traffic with something like Wireshark



  • Hi,

    Are you sure the versions of the libraries are the same on the development computer and others? Also, instead of putting the binaries (dlls) in the system path you can also put them in the same directory as where the executable is.
    Windows will try to load the required libraries from the path where the executable is located and if that fails it will use the environment variable PATH to locate them.

    You can use dependancy walker for example to see which libraries are loaded by your application. You can download it from here: http://www.dependencywalker.com. This will not detect required libraries using the Qt's plugin system.

    For tracing web requests you can use various of tools. If the traffic is HTTP you can use Fiddler for example. But if it is lower level (custom protocol on top of TCP/UDP/etc) or another protocol like FTP..etc you can use Wireshark. Another option is to build in some logging since you're the developer it should be easy to do.

    Hope that helps.


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.