31

Strangely i can't find it any where but when i stdout the output of strace into afile like this:

strace foo.exe | & tee foo.log

the out put is to short, how can i make the width longer?

Sean Reifschneider
  • 10,370
  • 3
  • 24
  • 28
user61104
  • 523
  • 1
  • 8
  • 16

3 Answers3

45

The "-s" option under Linux, from the "strace" package, will let you specify the width:

-s strsize  Specify  the  maximum  string  size  to  print  (the
            default is 32).  Note that filenames are not consid-
            ered strings and are always printed in full.
Sean Reifschneider
  • 10,370
  • 3
  • 24
  • 28
1

Use '-o filename' option:

  strace -f -o foo.log foo

man strace

-o filename Write the trace output to the file filename

ooshro
  • 10,874
  • 1
  • 31
  • 31
  • 1
    True, not directly an answer, but I found it useful in this context nonetheless. It does write the full strings into the file. – user63623 Jan 12 '17 at 15:49
  • 3
    Not really, @user63623. I've tried it here and ended up having to use -s anyway (strace 4.26). – hdiogenes Jun 03 '19 at 22:13
0

As other answers point to good directions in general, the specific issue is probably the space you have between "|" and "&". If you're trying to use a bash "|&" to pipe both stdout and stderr you can't have a space between those characters.