2015-12-19 9 views
9

Ich weiß, die -s Option sollte längere Argumente anzeigen, aber es funktioniert nicht immer (wahrscheinlich wegen dieser geschweiften Klammern Array oder verschachtelte Argumente gemeint?).Vollständige Argumente in Strace auch in geschweiften Klammern anzeigen

Auch nach strace -s1000 my_command läuft dieses Argument noch abgeschnitten:

ioctl (3, SNDCTL_TMR_TEMPO oder TCGETA, {B9600 -opost -isig -icanon -echo ...}) = 0

Wie kann ich die vollständigen Argumente sehen?

Antwort

12

Es gibt keine solche Option in den Parametern strace. Jedoch aufgrund des Open-Source-Charakter dieses großen Nutzen, können Sie Abkürzung vollständig deaktivieren, indem Sie die defs.h Header in dem Patchen stracesources:

< #define abbrev(tcp) ((tcp)->qual_flg & QUAL_ABBREV) 
--- 
> #define abbrev(tcp) 0 

ich so strace-4.9 von meinem lokalen gentoo/usr/portage gepatcht haben/Distfiles/Softwarequellenspeicher. Es ist nicht erforderlich, die neuesten strace-Quellen von sourceforge herunterzuladen.

+0

'-v' Argument funktioniert ab 4.15 und scheint seit der Erstellungszeit des Git Repos dort gewesen zu sein. – aitap

+0

Ich frage mich, warum es zu dieser Zeit nicht bemerkt wurde. Diese Option sollte in der Tat funktionieren. Mag sein, dass es wegen der Strace-Protokollierung selbst nicht bemerkt wurde, nach dem Code zu urteilen, werden einige Bitfelder und Makros verwendet, die das Vorhandensein einiger Bits prüfen; Es war also viel einfacher, diese Kontrolle vollständig zu löschen. –

5

Um verbosely beschreiben, was Vladimir Kunschikov sagte - die folgenden Befehle ausführen:

  1. git clone git://git.code.sf.net/p/strace/code strace-code
  2. cd strace-code
  3. den Teil der defs.h Datei ändern, wie durch Vladimir Kunschikov beschrieben.
  4. ./bootstrap
  5. ./configure
  6. make
  7. make install

Die modifizierte Version von strace sollte in /usr/local/bin/strace installiert wurden. Führen Sie jetzt die strace mit einem großen Wert für die Option -s. Beispiel:

strace -s 65536 command_to_run_goes_here 

Quellen:

  1. Vladimir Kunschikov Antwort.
  2. https://github.com/strace/strace/issues/2
Verwandte Themen