Comments (16)
I've changed the plan and implemented a solution without touching the settings file.
With this commit, you can now use gdbinit file provided by PINCE to execute any gdb command before attaching to the program. So you should just append handle SIGPWR nostop
to the gdbinit file. It can be found in ~/.config/PINCE/PINCE_USER_FILES/gdbinit
I've solved this problem 10 days ago but forgot to tell you, sorry about that. I forget things quickly.
from pince.
This issue now has its place in the wiki, check here
Edit: Updated the link, wiki page has been updated as well. Init files can now execute libPINCE functions automatically
from pince.
I've found it! received signal SIGPWR, Power fail/restart
, there you go. This looks like a gdb-specific error which usually occurs while attaching to processes written with mono. You can try ignoring this signal to continue working on this game. Open the gdb console from top right in the main window(black terminal thingy) and execute this command from there: handle SIGPWR nostop
. If that doesn't work try these too: handle SIGPWR pass
and handle SIGPWR nopass
Detailed information here
from pince.
In fact I've planned this feature long time ago. See the bottom part of readme file. It reads:
Hearthstone(It interrupts itself with SIGUSR1 whenever continued, implementing signal passing on PINCE might be very useful in future)
So, at last, the future has come! 😃 I'll implement this feature similar to how Ollydbg does. An interface that contains list of signals and radioboxes aligned to them to determine what to do with the signals. The options will be nostop, pass, nopass etc. But I'm going thru a series of exams right now. So, I'll be busy this entire week. Considering the other important bugfixes in the current development plan, expect this feature to be implemented in 2 weeks. Until that day, I'm closing this issue. Thanks for reporting this bug.
from pince.
Best of luck on your exams! (I know the pain and suffering you are going through)
from pince.
Settings menu now offers an option to ignore some signals, you don't need to modify init files for those signals anymore. Wiki page of init files has been updated
from pince.
I came to search up this problem again, and just happen to find this thread via a ducksearch, only to discover that I was the one that posted this thread! Small world, huh?
Thank you for the fix, going into setting and disabling the signal helped 🥳
from pince.
No, this is not intentionally designed. This only happened to me once and the game was Hearthstone. Some games are known to have some kind of anti-debugging behavior. Could you send me the logfile? It can be found in /tmp/PINCE-connection/pid/gdb_log.txt
Also, could you tell me what output PINCE gives in the terminal when the inferior pauses itself? You should see something like this:
~"1 \"kmines\" received signal SIGINT, Interrupt.\n"
~"0x00007f3132efbb5d in poll () from /lib/x86_64-linux-gnu/libc.so.6\n"
*stopped,reason="signal-received",signal-name="SIGINT",signal-meaning="Interrupt",frame={addr="0x00007f3132efbb5d",func="poll",args=[],from="/lib/x86_64-linux-gnu/libc.so.6"},thread-id="1",stopped-threads="all",core="1"
So, in your case it should read something like:
~"1 \"kmines\" received signal SIGUSR1, Interrupt.\n"
I believe that it's a custom signal.
from pince.
Also, forgot to ask. What's the title of the game?
from pince.
Game: 7 Days to Die
Logfile: gdb_log.txt
from pince.
I can't seem to find something like "received signal bla bla" in that logfile, are you sure that you sent me the logfile after the self-pausing event?
from pince.
https://pastebin.com/dh99RkeP
I made sure to try it again, got the pause-issue and closed the program.
from pince.
Very nice.
Although for future improvements: Would it not be beneficial for the majority of users if that was the default? After all, if you are reverse engineering/debugging, you would probably set your own breakpoints and such. :)
(I don't really know, as I have not really been working on that yet)
from pince.
Could SIGXCPU be added to the Handle Signals options? I've seen this in more than one Unity game.
from pince.
https://superuser.com/a/1185648
You are right, apparently SIGPWR and SIGXCPU are used to trigger the garbage collector in mono runtime. I've added SIGXCPU to the ignore list. Just pull the latest changes, no reinstallation is required, enjoy
from pince.
Handle signals menu now includes all signals
from pince.
Related Issues (20)
- [Feature] Display byte array as decimal HOT 12
- Dragging an item in the address table crashes PINCE (Fedora/GNOME) HOT 5
- PINCE not starting Surface Pro 8 Ubuntu 22.04 HOT 16
- gdb command error when attaching to wine process HOT 15
- Install Failed on opensuse 15.5 HOT 45
- Installation issues on openSUSE Leap
- Breaks in multiple ways with rust binaries with debug symbols left in HOT 6
- Issues with translations that use ampersand (&)
- Automatic update for HexView HOT 2
- Random freeze using "Find out what accesses this address" HOT 4
- Pince is screwing up with locals (decimal numeric values are not parsed correcty) HOT 4
- Issues with decreasing search after unknown search HOT 3
- UI Dark mode HOT 2
- cant start PINCE from terminal HOT 3
- Auto assembler like in Cheat Engine HOT 5
- Back again, opensuse 15.6 HOT 3
- Issues with proton/wine games HOT 2
- Game freezes when attach (no signal) HOT 6
- distorm3 import error HOT 9
- Unable to install an update on Arch Linux HOT 9
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pince.