2015-07-31 1 views
0

Je cherche à savoir pourquoi Warframe ne fonctionne pas sur WINE sous Linux, et je suppose que c'est dû à des appels système ou bibliothèque manquants. Je voudrais déterminer quels appels il fait, et les comparer aux appels pris en charge directement ou indirectement par WINE.Comment puis-je déterminer tous les appels système et bibliothèque effectués par un EXE?

+0

Est-ce que wine ne signale pas les appels non pris en charge? –

+0

Type de. Il signale certaines défaillances d'exécution. Il est très difficile pour moi d'analyser la sortie, elle rapporte aussi des choses qui ne posent pas problème. Il peut également s'agir d'un appel non mis en œuvre de la même manière. Mais connaître les appels effectués peut limiter ce que j'ai besoin de faire, et si je supprime ensuite les appels connus pour être bons, cela laisse beaucoup moins de chemins de code qui doivent être regardés. – Josh

+0

Cela permettrait également de planifier et de hiérarchiser les chemins au lieu de corriger quelques erreurs à un moment donné. C'est principalement pour déboguer un système complexe, donc plus il est clair, mieux c'est. – Josh

Répondre

1

Il existe un outil appelé EXE Import Viewer il ne répertorie pas en continu les appels de fonction mais il révèle les dépendances de l'exe.

Sur le site:

EXE Importer Viewer affiche les informations sur les bibliothèques liées et les fonctions, la liste des fonctions que les importations de un fichier exécutable, et la DLL à partir de laquelle le programme des importations, ces fonctions.

Cela peut être un bon début pour votre problème.

+0

Je vais jeter un coup d'oeil! – Josh

+0

Un autre outil pour cela est le bon vieux [Dependency Walker] (http://www.dependencywalker.com/) qui montre les appels per-dll et vous permet d'explorer ce que les DLL du programme utilisent eux-mêmes. – Anerty