use of com.google.security.zynamics.binnavi.debug.debugger.DebuggerTemplate in project binnavi by google.
the class CProjectNodeComponent method getSelectedDebuggers.
/**
* Returns the currently selected debuggers.
*
* @return The currently selected debuggers.
*/
private Set<DebuggerTemplate> getSelectedDebuggers() {
final Set<DebuggerTemplate> selectedTemplates = new HashSet<>();
final ListModel<DebuggerTemplate> model = m_checkedList.getModel();
for (int i = 0; i < model.getSize(); ++i) {
final DebuggerTemplate debugger = model.getElementAt(i);
if (m_checkedList.isChecked(i)) {
selectedTemplates.add(debugger);
}
}
return selectedTemplates;
}
use of com.google.security.zynamics.binnavi.debug.debugger.DebuggerTemplate in project binnavi by google.
the class CProjectModulesModelTest method testSimple.
@Test
public void testSimple() throws CouldntLoadDataException, CouldntSaveDataException, LoadCancelledException {
m_database = new MockDatabase(m_provider);
m_project = new CProject(1, "Mock Project", "Mock Project Description", new Date(), new Date(), 0, new ArrayList<DebuggerTemplate>(), m_provider);
m_project.load();
m_addressSpace = m_project.getContent().createAddressSpace("Address Space");
m_addressSpace.load();
final CModule module1 = new CModule(1, "Name 1", "Comment", new Date(), new Date(), "12345678123456781234567812345678", "1234567812345678123456781234567812345678", 55, 66, new CAddress(0x555), new CAddress(0x666), new DebuggerTemplate(1, "Mock Debugger", "localhaus", 88, m_provider), null, Integer.MAX_VALUE, false, m_provider);
m_addressSpace.getContent().addModule(module1);
final CModule module2 = new CModule(2, "Name 2", "Comment", new Date(), new Date(), "12345678123456781234567812345678", "1234567812345678123456781234567812345678", 55, 66, new CAddress(0x555), new CAddress(0x666), new DebuggerTemplate(1, "Mock Debugger", "localhaus", 88, m_provider), null, Integer.MAX_VALUE, false, m_provider);
m_addressSpace.getContent().addModule(module2);
final CProjectModulesModel model = new CProjectModulesModel(m_addressSpace);
assertEquals(2, model.getRowCount());
assertEquals("Name 1", model.getValueAt(0, 0));
assertEquals("Name 2", model.getValueAt(1, 0));
}
use of com.google.security.zynamics.binnavi.debug.debugger.DebuggerTemplate in project binnavi by google.
the class CAddressSpaceNodeComponentTest method testChangingModules.
@Test
public void testChangingModules() throws CouldntSaveDataException, CouldntDeleteException, CouldntLoadDataException, LoadCancelledException, IllegalArgumentException, SecurityException, IllegalAccessException, NoSuchFieldException {
m_addressSpace.load();
final CModule module = new CModule(123, "Name", "Comment", new Date(), new Date(), "12345678123456781234567812345678", "1234567812345678123456781234567812345678", 55, 66, new CAddress(0x555), new CAddress(0x666), new DebuggerTemplate(1, "Mock Debugger", "localhaus", 88, m_provider), null, Integer.MAX_VALUE, false, m_provider);
final String previousBorderTest = m_titledBorder.getTitle();
assertSame(previousBorderTest, m_titledBorder.getTitle());
m_addressSpace.getContent().addModule(module);
assertNotSame(previousBorderTest, m_titledBorder.getTitle());
m_addressSpace.getContent().removeModule(module);
assertEquals(previousBorderTest, m_titledBorder.getTitle());
testListenersRemoved();
}
use of com.google.security.zynamics.binnavi.debug.debugger.DebuggerTemplate in project binnavi by google.
the class CAddressSpaceNodeComponentTest method testChangingDebugger.
@Test
public void testChangingDebugger() throws CouldntSaveDataException, SecurityException, NoSuchFieldException, IllegalArgumentException, IllegalAccessException {
final DebuggerTemplate template1 = new DebuggerTemplate(1, "", "", 0, m_provider);
final DebuggerTemplate template2 = new DebuggerTemplate(1, "", "", 0, m_provider);
m_database.getContent().getDebuggerTemplateManager().addDebugger(template1);
m_database.getContent().getDebuggerTemplateManager().addDebugger(template2);
m_project.getConfiguration().addDebugger(template1);
m_project.getConfiguration().addDebugger(template2);
assertFalse(m_saveButton.isEnabled());
m_debuggerCombo.setSelectedIndex(2);
assertTrue(m_saveButton.isEnabled());
m_addressSpace.getConfiguration().setDebuggerTemplate(template2);
assertFalse(m_saveButton.isEnabled());
m_addressSpace.getConfiguration().setDebuggerTemplate(template1);
assertFalse(m_saveButton.isEnabled());
testListenersRemoved();
}
use of com.google.security.zynamics.binnavi.debug.debugger.DebuggerTemplate in project binnavi by google.
the class PostgresSQLDebuggerFunctions method loadDebuggers.
/**
* Loads all debugger templates of a database.
*
* The debugger template manager must belong to the database connected to by the provider
* argument.
*
* @param provider The connection to the database.
* @param manager Debugger template manager where the loaded debuggers are added to.
*
* @throws CouldntLoadDataException Thrown if the debugger templates could not be loaded.
*/
public static void loadDebuggers(final AbstractSQLProvider provider, final DebuggerTemplateManager manager) throws CouldntLoadDataException {
final CConnection connection = provider.getConnection();
final String query = "SELECT * FROM " + CTableNames.DEBUGGERS_TABLE;
try (ResultSet resultSet = connection.executeQuery(query, true)) {
while (resultSet.next()) {
final DebuggerTemplate debugger = new DebuggerTemplate(resultSet.getInt("id"), PostgreSQLHelpers.readString(resultSet, "name"), PostgreSQLHelpers.readString(resultSet, "host"), resultSet.getInt("port"), provider);
manager.addDebugger(debugger);
}
} catch (final SQLException e) {
throw new CouldntLoadDataException(e);
}
}
Aggregations