Forum: PC Hard- und Software Main.C gelöscht


von Matthias W. (laserbrenner)


Lesenswert?

Hallo,
ich hoffe Ihr könnt mir helfen?
Ich habe gerade in meinen AVR Studio 6 Projekt den Inhalt meiner Main.c 
Datei gelöscht, ohne das ich es gemerkt habe.
Gibt es einen weg den Inhalt wieder herzustellen?
In den Debug Order gibt es noch die main.o Datei (99KB)

gruß
Matthias

: Verschoben durch Moderator
von René K. (cyprius)


Lesenswert?

Einfach aus dem Backup wieder herstellen!

von Matthias W. (laserbrenner)


Lesenswert?

wie, wo ,was?
oder meinst du mein eigenes Backup :-|

von Oliver (Gast)


Lesenswert?

NSA anrufen, die sollten eine Kopie haben.

Oliver

von nicht"Gast" (Gast)


Lesenswert?

Hiho,

Ctrl-Z wenn du noch nicht zu gemacht hast.

Zusätzlich solltest du die Gelegenheit nutzen, an ein 
Softwareversionierungssystem wie GIT oder SVN zu denken.

Bei SVN bin ich mir sicher, dass man ein lokales Repository anlegen 
kann, bei GIT nicht so sicher, aber sollte auch gehen. Damit kannst du 
solche Fehler leicht wieder ausbüglen. Außerdem fallen dann die 
leidlichen "main.c.old", "main.c.older" u.s.w. weg ^^


Grüße,

von Matthias W. (laserbrenner)


Lesenswert?

nicht"Gast" schrieb:
> Ctrl-Z wenn du noch nicht zu gemacht hast.

geht leider nicht mehr, hab schon zu gemacht! war gerade dabei mir eine 
neu Testumgebung zusammen zu stellen.

aus der main.o bekommt man nicht's zurück?

von Verwurster (Gast)


Lesenswert?

>aus der main.o bekommt man nicht's zurück?

Bekommt man aus einer Wurst ein unversehrtes Stück Schwein zurück?

BTW, was soll der Apostroph in "nicht's"?

von Johann L. (gjlayde) Benutzerseite


Lesenswert?

Nein, selbst wenn die Debug-Info enthält, denn diese enthält nicht die 
Quelle selbst sondern verweist nur auf diese.

Falls man mit -save-temps übersetzt hatte, findet man zumindest nicht 
des präprzessten Code (.ii).

Manche Editoren legen beim Speichern auch ältere Versionen, emacs z.B. 
Main.C~

von Johann L. (gjlayde) Benutzerseite


Lesenswert?

Verwurster schrieb:

> BTW, was soll der Apostroph in "nicht's"?

Für das weggefallene Main.C.

von Klicky Unbedarft (Gast)


Lesenswert?

>was soll der Apostroph in "nicht's"?

Na, das:
http://www.deppenapostroph.info/

von Wilhelm F. (Gast)


Lesenswert?

Vielleicht gibts ja noch main.lst.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

nicht"Gast" schrieb:
> Bei SVN bin ich mir sicher, dass man ein lokales Repository anlegen
> kann, bei GIT nicht so sicher

GIT (und Mercurial) arbeiten immer mit einem lokalen Repository
(ob man's will oder nicht ;).

Ja, sollte man spätestens nach so einer Panne auf jeden Fall in
Erwägung ziehen.  Ich kann mir gar nicht mehr vorstellen, wie man
ohne Versionsverwaltung überhaupt mehr als nur einen 10-Zeiler an
Software entwickeln kann … manchmal benutze ich sogar "gestackte"
Versionierungen: das Projekt verwendet SVN gegen einen Server im
Internet, aber ich schiebe zusätzlich noch lokal zwischen zwei
SVN-Commits ein Mercurial drüber.

von oszi40 (Gast)


Lesenswert?

Matthias W. schrieb:
> Datei gelöscht, ohne das ich es gemerkt habe.

Lernen durch Schmerz? Backup soll man haben!
Evtl. hast Du noch etwas Glück wenn Du alle heutigen Dateien suchst? 
Auge auf Uhrzeit!

von Arc N. (arc)


Lesenswert?

Matthias W. schrieb:
> Hallo,
> ich hoffe Ihr könnt mir helfen?
> Ich habe gerade in meinen AVR Studio 6 Projekt den Inhalt meiner Main.c
> Datei gelöscht, ohne das ich es gemerkt habe.
> Gibt es einen weg den Inhalt wieder herzustellen?
> In den Debug Order gibt es noch die main.o Datei (99KB)
>
> gruß
> Matthias

Im AVRStudio gibt es afaik auch die Autorecover-Funktion 
(Tools->Options->Evironment->Autorecover) wie im normalen VS...
Dann könnten unter C:\Users\Benutzername\Documents\Atmel Studio 
Version\Backup Files noch Reste liegen...

von Peter D. (peda)


Lesenswert?

Matthias W. schrieb:
> Ich habe gerade in meinen AVR Studio 6 Projekt den Inhalt meiner Main.c
> Datei gelöscht, ohne das ich es gemerkt habe.

Im Papierkorb hast Du nachgeschaut?

Oder hast Du wirklich erstmal allen Text entfernt und dann Main.c 
gespeichert.

von StinkyWinky (Gast)


Lesenswert?

Unter Win7 kann man bei Eigenschaften "Vorgängerversionen" Glück haben.

von Johannes O. (jojo_2)


Lesenswert?

Schau mal im Debugordner nach, ob da die temporären Dateien vom 
kompilieren noch da sind. Dort kann man teils noch was retten.

von Matthias W. (laserbrenner)


Lesenswert?

Erstmal ein großes DANKE für alle konstruktiven vorschläge.

ich habe meine Daten wieder, für alle den was änliches passiert, obwohl 
sie mit versionierung und Backup arbeiten und erst in ernstfall lücken 
in Ihr System finden:

Im Debugordner gibt es eine *.lss Datei die unter anderen auch noch den 
Quellcode beinhaltet.

Also wie gesagt
*** Danke ***

von Micha (nichtgast)


Lesenswert?

Jörg Wunsch schrieb:
> GIT (und Mercurial) arbeiten immer mit einem lokalen Repository
> (ob man's will oder nicht ;).

Hiho,

ja, blöde Wortwahl :)

ich meine eigentlich, dass man nicht unbedingt einen Server dafür 
ausetzten muss, sondern sich irgend wo ein Verzeichnis erstellen kann 
und sich von dort aus ein lokales rep ziehen kann.


Grüße,

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Matthias W. schrieb:
> Im Debugordner gibt es eine *.lss Datei die unter anderen auch noch den
> Quellcode beinhaltet.

Wenn du Glück hast, weil der Disassembler einigermaßen alles wieder
reingezogen hat. ;-)  Das muss nicht unbedingt sein (je nach 
Optimierung).

(VCS lokal)

keiner niemand schrieb:
> ich meine eigentlich, dass man nicht unbedingt einen Server dafür
> ausetzten muss, sondern sich irgend wo ein Verzeichnis erstellen kann
> und sich von dort aus ein lokales rep ziehen kann.

Bei Git und Mercurial liegt das Repository immer in dem Verzeichnis,
in dem man das "git init" bzw. "hg init" ausgeführt hat.  Da beide ja
verteilt arbeiten können, müssen sie zwangsweise stets eine lokale
Kopie des Repositories vorhalten (also einschließlich der gesamten
History, gelöschter Dateien etc. pp. — kann ziemlich viel Ballast sein,
den man da mit rumschleppt).  Ein Commit geht auch immer nur in das
lokale Repo rein.

Dieses lokale Repository kann man dann ggf. per push/pull noch mit
entfernten Repositories abgleichen (dafür braucht man dann natürlich
auf der Gegenseite irgendeine Form eines Servers, das kann HTTP sein,
aber auch ein normaler SSH-Dämon).  Aber niemand sagt natürlich, dass
man so etwas tun muss, man kann sie auch rein lokal betreiben.

: Bearbeitet durch Moderator
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.