Wie man Umwelt, die ein Programm während des Debuggens im GDB

Ich bin Debuggen eines Programms im GDB unter linux. Ich bin mit getenv und setenv - Aufrufe zum Lesen und setzen von Umgebungsvariablen. Zum Beispiel rufe ich setenv("TZ", "UTC", 1); um die TZ-environment variable für die Zeitzone.

Um zu überprüfen, ob die env-variable ist gesetzt, ich bin mit GDB-Befehl show environment. Dieser druckt alle environment-Variablen und Ihre Werte. Aber es Dosis nicht zeigen TZ gesetzt.

Selbst den Befehl show environment TZ sagt Environment variable "TZ" not defined.

Ist Ihr eine weitere Möglichkeit zu prüfen, die Umgebung der zu testende Programm?

p *(char *) getenv("TZ") reuturns richtigen Wert UTC.

  • Sollte man das nicht p (char*)getenv("TZ")?
  • Sieht aus wie environ NULL ist. environ@@GLIBC_2.0 ist das eine, die Punkte der realen Umgebung, in meinem Fall. stackoverflow.com/questions/6203455/...
  • environ funktioniert gut für mich, aber es ist wahrscheinlich im Zusammenhang mit der glibc-version (unter anderem).
  • OK, ich habe eine Art Druck auf die gesamte Umgebung auf meine Antwort. HTH.
InformationsquelleAutor punekr12 | 2015-10-02
Schreibe einen Kommentar