We prefer getting full access to a specific environment, instead of getting into a call and sharing screens: With screen sharing, often time is lost with chitchat (which is nice but less efficient), differences in tools (different keyboard layout, typos) and confusion on instructions (which screen to type what, pronouncing words incorrectly, etc). With full access to a specific environment, support can be given as efficient as possible.
To get access to a specific environment, the following options exist:
[Recommended] SSH and webaccess to a specific hosting environment. Preferably this is not a production environment, but a staging or testing environment. This option is best, because it allows us both to access the same environment and do thorough analysis where needed.
[It kind of works] We can also take over your desktop using some kind of remote desktop sharing tool. This is nice, because we get access to the issue as you are experiencing it on your own desktop. The downside is that the tools might be different (Mac vs Linux vs Windows, different editors) which might slow things down. Remote desktop sharing tools are VNC or TeamViewer.
[Frowned upon] A dump of a shop: The project files can be passed over, including a database. This allows for the most thorough troubleshooting but is also the most cumbersome to setup. A new hosting environment needs to be setup on our side, matching yours (PHP version, MySQL version, etc). Plus, often composer authentication is different (so that third party modules need to be dumped in the vendor/ folder). We only opt for this as a final resort.