how do I trace dll calls?

How do I check what ddls are being called?

4 Comments

I meant DLLs
Hi James,
Can you tell me how are you calling the DLL file, and through which interface are you calling it i.e(via .m file or a simulink s-function)?
I had in mind a utility that I used previously, suggested by Mathworks, to clarify why my mex file wasn't working. It showed that there was nothing wrong with the mex file itself but a runtime version of MS Visual C++ it depended on was missing.
This incident occurred to me when I was recently using a web-based version of Matlab, accessed via Citrix, that I had given full access rights to for my PC. I tried to read a file on my PC using my mex file (which calls a second c-based dll) which failed. I did add the runtime to the mex directory and eventually I received an "access denied" error. This I assume might be unavoidable for this Matlab configuration although I had given Citrix read and write access. (The mex file works without error when called from Matlab running on my PC).
More generally, what mex files are supported when running Matlab via VPN?
There are several different cases:
  • you might be doing a remote login by text means, such as ssh, running MATLAB on the remote system without graphics. In such a case, mex file access would be the same as if you were local on the server, with the exception of access to graphics; any device access would access the server's devices
  • you might be doing a remote login by internet means, such as ssh, running MATLAB in X Windows mode displaying back to your local host. In such a case, mex file access would be the same as if you were local on the server, with the exception that historically some details of graphics could be a little odd; any device access would access the server's devices
  • you might be doing a remote desktop login to a system that has a display, such as using rdesktop. In such a case, mex file access would be the same as if you wre local on the server; any device access would access the server's devices
  • you might be using a remote application virtual machine framework such a Citrix. In this case, most anything can happen, as MATLAB does not support Citrix; it is common for such configurations to fail
  • you might be running MATLAB on your desktop accessing a network license server. In such a case, mex file access is local access to your system; any device access would access your local devices
  • you might be running MATLAB Connector on a mobile device, accessing MATLAB Online. In such a case, mex file access would be to one of Mathwork's Linux based servers operating on the cloud somewhere or other. General access to install DLL in appropriate places is not available, and Windows based DLLs are not available (because it is Linux based.)
  • you might be running MATLAB Connector on a mobile device, accessing your own desktop or MATLAB hanging around on a server made available to you. In such a case, whatever mex access is available would be on the desktop (or server) that MATLAB itself was being run on; I do not know at the moment if there are restrictions on what can be remotely executed over MATLAB Connector

Sign in to comment.

Answers (0)

Categories

Products

Asked:

on 26 Nov 2019

Commented:

on 11 Dec 2019

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!